展开全部
整体思路如下:
第一步:
程序定义3个主要变量(total_0, tail_0, max_0[段落数]).
total_0: 用于存储所有为0的个数;
tail_0:用于统计最后一行末尾0的个数;
max_0[段落数-1]:记录每行前两个字为0的情况下,上一行末尾0前s-1个最多的个数;
第二步:
初始化3个变量为0,接下来依次遍历数组。
2.1 如果是0, total_0加1;
2.2 如果行的开头前两个数为0,统计一下上一行末尾0的个数,并与max_0数组中元素比较大于其中最小的那个数替换掉;
2.3 统计最后一行末尾0的个数,存入tail_0变量中。
第三步:
计算最少损坏的个数
result = total_0 - 2*s - sum(max_0)-tail_0
解释一下:
最少损坏数等于总0 减去 段落数*2 减去 有可能是段落的行上一行末尾0最多的前s-1项(考虑到第一行必须是段落开始,所以是s-1)0的和 减去 末尾0的个数。
2021-07-21
展开全部
你好题主,能否提供一份更清晰得图片我看得不太清楚题干。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询