A25251. 编程实现:淘淘将一张长方形纸条均匀的划分成了 n 个大小一致的方格。有些方格为白色,有些方格为黑色。淘淘想让长方形纸条左右对折后,使得重合部分颜色相同。由于淘淘只有黑色的笔,请计算淘淘最少还需要将多少个方格涂成黑色。例如:n = 7;长方形纸条被划分成了 7 个方格,各方格颜色如下:如果将该纸条沿着红线左右对折后,第 1 个方格会与第 7 个方格重合,第 2 个方格会与第 6 个方格重合,第 3…
填空题
容易
知识点
题目描述
编程实现:淘淘将一张长方形纸条均匀的划分成了 n 个大小一致的方格。有些方格为白色,有些方格为黑色。
淘淘想让长方形纸条左右对折后,使得重合部分颜色相同。由于淘淘只有黑色的笔,请计算淘淘最少还需要将多少个方格涂成黑色。
例如:n = 7;长方形纸条被划分成了 7 个方格,各方格颜色如下:

如果将该纸条沿着红线左右对折后,第 1 个方格会与第 7 个方格重合,第 2 个方格会与第 6 个方格重合,第 3 个方格会与第 5 个方格重合,第 4 个方格会与它自身重合。

重合的部分中,第 1 个是黑色方格、第 7 个是白色方格,需要将第 7 个白色方格涂成黑色;
第 2 个是白色方格、第 6 个是黑色方格,需要将第 2 个白色方格涂成黑色;
淘淘最少还需要将 2 个方格涂成黑色。
输入描述:
第一行输入一个整数 n(1≤n≤1000),表示长方形纸条被划分成的方格数量;
第二行输入 n 个整数,整数为 0 或 1,0 表示白色方格,1 表示黑色方格,整数从左到右分别表示方格的颜色情况,整数之间以一个空格隔开。
输出描述:
输出一个整数,表示淘淘最少还需要将多少个方格涂成黑色。
样例输入:
7
1 0 0 1 0 1 0样例输出:
2参考答案
n = int(input())
ls = list(map(int, input().split()))
cnt = 0
for i in range((n + 1) // 2):
left = ls[i]
right = ls[n - 1 - i]
if left != right:
# 需要涂其中一个为黑色,优先涂白色的那个
if left == 0:
cnt += 1
elif right == 0:
cnt += 1
print(cnt)
上一题
下一题