测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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)
上一题 下一题