这里会显示出您选择的修订版和当前版本之间的差别。
| 后一修订版 | 前一修订版 | ||
|
2020-2021:teams:namespace:e [2020/05/31 19:40] serein 创建 |
2020-2021:teams:namespace:e [2020/05/31 19:43] (当前版本) serein |
||
|---|---|---|---|
| 行 10: | 行 10: | ||
| 的,反之就是合法的矩阵。 | 的,反之就是合法的矩阵。 | ||
| + | |||
| + | AC代码: | ||
| + | <code c> | ||
| + | #include<cstdio> | ||
| + | #include<algorithm> | ||
| + | #include<iostream> | ||
| + | #define bug printf("!!!!!\n") | ||
| + | const int MAX_N=105; | ||
| + | char s[110], laji[110]; | ||
| + | int N,M,sx,sy,flag; | ||
| + | int field[MAX_N][MAX_N+1]; | ||
| + | bool dfs(int x, int y){ | ||
| + | if(x == N - 1 || y == M - 1) { | ||
| + | return true; | ||
| + | } | ||
| + | int nx=x,ny=y+1; | ||
| + | int nx1=x+1,ny1=y; | ||
| + | if(field[nx][ny]==0&&field[nx1][ny1]==0){ | ||
| + | return false; | ||
| + | |||
| + | } | ||
| + | return true; | ||
| + | } | ||
| + | void solve(){ | ||
| + | for(int i=0;i<N;i++){ | ||
| + | for(int j=0;j<M;j++){ | ||
| + | if(field[i][j] == 1) { | ||
| + | if (! dfs(i,j)) { | ||
| + | printf("NO\n"); | ||
| + | return; | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | printf("YES\n"); | ||
| + | return; | ||
| + | } | ||
| + | int main() | ||
| + | { | ||
| + | int t; | ||
| + | scanf("%d", &t); | ||
| + | while(t--) | ||
| + | { | ||
| + | scanf("%d",&N); | ||
| + | gets(laji); | ||
| + | M = N; | ||
| + | flag=1; | ||
| + | for(int i=0;i<N;i++){ | ||
| + | gets(s); | ||
| + | for(int j=0;j<M;j++){ | ||
| + | field[i][j]=s[j]-'0'; | ||
| + | } | ||
| + | } | ||
| + | solve(); | ||
| + | } | ||
| + | return 0; | ||
| + | } | ||
| + | |||
| + | </code> | ||
| + | |||