每天一個小題目——小明的棋盤
阿新 • • 發佈:2019-01-11
題目表述:
小明要到商店裡買一個黑白棋棋盤,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";
else
s[i] = "No";
}
for (int i = 0; i < n; ++i)
cout << s[i] << endl;
delete [] s;
return 0;
}