UVA 541

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=482

在输入的数据中计算行的和,如果是奇数,记下出现的次数,计算列的和,如果是奇数,记下出现的次数,没有奇数,说明是pairity property,只出现一次奇数,则说明可以改

View Code
 1 #include<stdio.h>
 2 #define MAX 100
 3 int main()
 4 {
 5  int i,j,m[MAX][MAX],n,c,r,sum,flag1,flag2;
 6  while(scanf("%d",&n)&&n)
 7       {
 8        sum=0;
 9        for(i=0;i<n;i++)
10           for(j=0;j<n;j++)
11              scanf("%d",&m[i][j]);//接收矩阵
12        flag1=flag2=0;
13        for(i=0;i<n;i++)
14          {
15           for(j=0;j<n;j++)
16             sum+=m[i][j];
17           if(sum%2==1)
18             {
19              flag1++;
20              r=i+1;
21             }
22           sum=0;//
23          }
24        sum=0;
25        for(i=0;i<n;i++)
26           {
27            for(j=0;j<n;j++)
28               sum+=m[j][i];
29            if(sum%2==1)
30             {
31              flag2++;
32              c=i+1;
33             }
34            sum=0;//
35           }  
36       if(flag1==0&&flag2==0)
37         printf("OK\n");//
38       else if(flag1==1&&flag2==1)
39         printf("Change bit (%d,%d)\n",r,c);//
40       else printf("Corrupt\n");
41       }
42  return 0;
43 }

 

posted @ 2013-02-18 15:39  执着追求的IT小小鸟  阅读(99)  评论(0编辑  收藏  举报