| syhd142 |
|
|||
|
日歷
統計
導航常用鏈接留言簿(2)隨筆檔案(23)文章分類(270)
文章檔案(122)我的豆瓣搜索最新評論
|
一個超級簡單題,還是以前做過的,沒考慮到可以改變為0的位,錯了好幾次,BS自己一下。 coding不僅要快而且要準確啊。 #include <stdio.h>
#include <string.h> #define N 105 int a[N][N], row[N], col[N]; bool check(int n) { for(int i = 0; i < n; i++) { if((row[i] & 1) || (col[i] & 1)) { return 1; } } return 0; } int main() { int n, mk; while(scanf("%d", &n), n) { memset(row, 0, sizeof(row)); memset(col, 0, sizeof(col)); for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { scanf("%d", &a[i][j]); row[i] += a[i][j]; col[j] += a[i][j]; } } if(!check(n)) { puts("OK"); continue; } for(int i = 0; i < n; i++) { mk = 0; for(int j = 0; j < n; j++) { int tmp = a[i][j]; a[i][j] = 1 - tmp; if(tmp == 1) row[i]--, col[j]--; else row[i]++, col[j]++; if(!check(n)) { mk = 1; printf("Change bit (%d,%d)\n", i + 1, j + 1); break; } a[i][j] = tmp; if(!tmp) row[i]--, col[j]--; else row[i]++, col[j]++; } if(mk) break; } if(!mk) puts("Corrupt"); } return 0; }
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|
| Copyright © Fucker | Powered by: 博客園 模板提供:滬江博客 |