E. Polygon:题目
题意:在一个n*n的方块空间内,上下都有大炮,发射数量和先后由你决定。问能否得到他给的地图。
思路:如果他不是靠下边或者右边,右或者下必有一个炮弹阻挡。所以直接遍历判断就行
#include <bits/stdc++.h>
using namespace std;
int g[100][100];
int main()
{int t;cin >> t;while (t--){int n;cin >> n;char ch;for (int i = 0; i < n; i++){for (int j = 0; j < n; j++){cin >> ch;g[i][j] = ch - '0';}}int ff = 1;for (int i = 0; i < n; i++){for (int j = 0; j < n; j++){if (g[i][j] == 1){int cou = 0;if (i < n - 1){if (g[i + 1][j] == 1)cou++;}elsecou++;if (j < n - 1){if (g[i][j + 1] == 1)cou++;}elsecou++;if (cou == 0)ff = 0;}}}if (ff)cout << "YES" << endl;elsecout << "NO" << endl;}
}