首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

ZOJ-1949 队列和均偶数

2012-10-29 
ZOJ-1949 行列和均偶数1949:矩阵的每一行每一列的和都是偶数称为parity。 判定是否符合。如不符合是否可以改

ZOJ-1949 行列和均偶数
1949:矩阵的每一行每一列的和都是偶数称为parity。 判定是否符合。如不符合是否可以改动一个数字符合。

Sample Input

4
1 0 1 0
0 0 0 0
1 1 1 1
0 1 0 1
4
1 0 1 0
0 0 1 0
1 1 1 1
0 1 0 1
4
1 0 1 0
0 1 1 0
1 1 1 1
0 1 0 1
0


Sample Output

OK
Change bit (2,3)
Corrupt



思路:分别进行行列检查。如果可以改动,则只有一行和只有一列不满足。否则不能改为符合。


#include<stdio.h>#include<iostream>using namespace std;int matrix[100][100];int main(){int dim;int row;int col;int sum;bool rowchg;bool colchg;bool canchg;while(1){canchg=true;rowchg=false;colchg=false;row=-1;col=-1;cin>>dim;if(dim==0)break;for(int i=0;i<dim;i++)for(int j=0;j<dim;j++)cin>>matrix[i][j];//check rowfor(int i=0;i<dim;i++){sum=0;for(int j=0;j<dim;j++){sum+=matrix[i][j];}if(sum%2==1){if(rowchg){canchg=false;break;}rowchg=true;row=i+1;}}//check colfor(int i=0;i<dim;i++){sum=0;for(int j=0;j<dim;j++){sum+=matrix[j][i];}if(sum%2==1){if(colchg){canchg=false;break;}colchg=true;col=i+1;}}if(row==-1&&col==-1)printf("OK\n");else if(canchg&&rowchg&&colchg)printf("Change bit (%d,%d)\n",row,col);elseprintf("Corrupt\n");}}

热点排行