本文主要是介绍每天一个小题目——小明的棋盘,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目表述:
小明要到商店里买一个黑白棋棋盘,n*m 的棋盘上黑白相间,小明有一个特异功能:一次能将一个矩阵里的颜色翻转(即把该矩阵内所有黑的变成白的,白的变成黑的),但小明每天只能使用c 次超能力。小明会买这个棋盘当且仅当该棋盘可以变成单色的(可以是1*1只有一个格子的或者是可以通过超能力变成同一颜色的,黑色白色不限)。
输入有一个整数T,表明有多少组测试数字,后面跟着T行,每行有n, m, c 三个整数;
输出有T行,分别表示该组数字是否满足要求,“Yes”表示满足,“No”表示不满足。
代码如下:
#include<iostream>
const int T = 10;
using namespace std;int main(){int n, m, c;cin >> n;int p[T][3];string *s = new string[n]; // 建立动态数组存储 Yes 或 No for (int i = 0; i < n; ++i)cin >> p[i][0] >> p[i][1] >> p[i][2]; // 输入 for (int i = 0; i < n; ++i){int t = p[i][0] / 2 + p[i][1] / 2; // 实际需要的最大变换次数 if (p[i][2] >= t)s[i] = "Yes";elses[i] = "No";}for (int i = 0; i < n; ++i)cout << s[i] << endl;delete [] s;return 0;
}
这篇关于每天一个小题目——小明的棋盘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!