每天一个小题目——小明的棋盘

题目表述

小明要到商店里买一个黑白棋棋盘,n*m 的棋盘上黑白相间,小明有一个特异功能:一次能将一个矩阵里的颜色翻转(即把该矩阵内所有黑的变成白的,白的变成黑的),但小明每天只能使用c 次超能力。小明会买这个棋盘当且仅当该棋盘可以变成单色的(可以是1*1只有一个格子的或者是可以通过超能力变成同一颜色的,黑色白色不限)。
输入有一个整数T,表明有多少组测试数字,后面跟着T行,每行有n, m, c 三个整数;
输出有T行,分别表示该组数字是否满足要求,“Yes”表示满足,“No”表示不满足。

代码如下

#include
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;
}

你可能感兴趣的:(C-C++,每天一个小题目,c++,程序设计)