1. 程式人生 > >每天一個小題目——小明的棋盤

每天一個小題目——小明的棋盤

題目表述

小明要到商店裡買一個黑白棋棋盤,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; }