题目信息

题目类型
STEMA
题目年份
2025
题目题型
编程题
关 键 词
移除棋子

题目题干

第五题jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
编程实现:移除棋子jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
题目描述:jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
有 n 颗棋子排成一排,每颗棋子为白色(用 1 表示)或黑色(用 0 表示)。每次可以选择从最左端或者jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
最右端移除一颗棋子,最终使剩余棋子中白色棋子的数量为 m。jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
给定两个整数 n 和 m,及 n 颗棋子的颜色排列。请计算最少要移除多少颗棋子,才能使剩余棋子中白色棋jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
子的数量为 m;如果无法实现该目标,输出 -1。jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
例 1:n = 8,m = 2,8 颗棋子的颜色分别是 0 1 0 1 1 0 0 1,要使剩余棋子中白色棋子的数量为jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
2,最少需要移除 3 颗棋子,移除方案如下:jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
第一次,移除最右端的棋子,移除后剩余棋子的颜色分别是 0 1 0 1 1 0 0;jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
第二次,移除最左端的棋子,移除后剩余棋子的颜色分别是 1 0 1 1 0 0;jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
第三次,移除最左端的棋子,移除后剩余棋子的颜色分别是 0 1 1 0 0;jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
此时,剩余棋子中白色棋子的数量为 2。jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
7jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
例 2:n = 5,m = 3,5 颗棋子的颜色分别是 1 0 0 1 0,无论如何移除棋子,都不能使剩余棋子中白jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
色棋子的数量为 3。jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
输入描述:jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
第一行输入两个整数 n,m(1≤n,m≤106),分别表示初始棋子数量和目标白色棋子数量,整数之间以一jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
个空格隔开;jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
第二行输入 n 个整数(整数为 1 或 0,1 表示白色棋子,0 表示黑色棋子),表示从左到右每颗棋子的颜jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
色,整数之间以一个空格隔开。jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
输出描述:jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
输出一个整数,表示最少要移除多少颗棋子,才能使剩余棋子中白色棋子的数量为 m;如果无论如何移除棋jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
子,都不能使剩余棋子中白色棋子的数量为 m,则输出 -1。jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
样例输入:jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
8 2jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
0 1 0 1 1 0 0 1jwM100150满分答卷(100150.com)-青少年编程等级考试及竞赛题库
样例输出:3

答案解析

相关题目

第五题 编程实现:移除棋子 题目描述: 有 n 颗棋子排成一排,每颗棋子为白色(用 1 表示)或黑色(用 0 表示)。每次可以选择从最左端或者 最右端移除一颗棋子,最终使剩余棋子中白色棋子的数量为 m
第四题 编程实现:旋转矩阵 题目描述: 给定两个 n × n 的数字矩阵,判断能否通过将其中任意一个矩阵顺时针旋转 0 度或 90 度或 180 度或 270 度后,使得两个矩阵对应位置的元素完全相同
第三题 编程实现:山峰高度 题目描述: 有 n 座山峰排成一行,从左到右依次编号为 1 至 n。已知每座山峰的高度,请找出满足以下条件的所有 山峰中编号最大的那个。 条件:该山峰的左侧(即所有编号比它
第二题 编程实现:最终分数 题目描述: A、B、C 三人之间进行了若干场一对一的乒乓球比赛。比赛规则如下: 1)每场比赛为一对一形式,只有两人参与; 2)每场比赛的胜者加 10 分,败者扣 10 分;
第一题 编程实现:促销活动 题目描述: 餐厅推出促销活动,顾客每消费 1 元即可获得 10 积分。 已知顾客的消费金额为 n 元,计算其所得积分。 例如:n = 50,顾客消费了 50 元,可获得 5
第五题 运行以下程序,输出的结果是( )。 void compute(int &a, int &b, int c = 10) { int temp = a; a = b + c; b = temp *
第四题 定义二维数组 int a[3][3] = {{1, 2}, {3, 6}, {6, 1, 9}}; 请问 cout << (a[1][1] + a[2][2]) * a[1][2]
第三题 运行以下程序,输出的结果是( )。 int sum = 0; for(int i = 1; i <= 5; ++i) { if(i == 3) break; sum += i; } co
第二题 定义变量 int a = 2,执行语句 a *= 4 后,a 的值是( )。 A、2 B、6 C、8 D、16
第一题 执行语句 cout << (2 + 3) * 4; 输出的结果是( )。 A、14 B、20 C、24 D、(2 + 3) * 4

提示声明

  • 免责声明:本站资源均来自网络或者用户投稿,仅供用于学习和交流:如有侵权联系删除!
  • 温馨提示:本文属于积分文章,需要充值获得积分或升级VIP会员,也可在会员中心投稿获取。

猜你喜欢