ZZULIOJ 1126: 布尔矩阵的奇偶性
生活随笔
收集整理的這篇文章主要介紹了
ZZULIOJ 1126: 布尔矩阵的奇偶性
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
布爾矩陣的奇偶性
題目描述
一個布爾方陣具有奇偶均勢特性,當且僅當 每行、每列總和為偶數,即包含偶數個1。如下面這個4*4的矩陣就具有奇偶均勢特性:
1 0 1 0
0 0 0 0
1 1 1 1
0 1 0 1
編寫程序,讀入一個n階方陣并檢查它是否具有奇偶均勢特性。如果沒有,你的程序應當再檢查一下它是否可以通過修改一位(把0改為1,把1改為0)來使它具有奇偶均勢特性;如果不可能,這個矩陣就被認為是破壞了。
輸入
第一行是一個整數n ( 0< n < 100 ),代表該方陣的階數。然后輸入n 行,每行n個整數(0或1)。
輸出
如果矩陣是布爾矩陣,輸出“OK”;如果能通過只修改該矩陣中的一位來使它成為布爾矩陣,則輸出“Change bit(i,j)”,這里i和j是被修改的元素的行與列(行,列號從0開始);否則,輸出“Corrupt”。
樣例輸入 Copy
4
1 0 1 0
0 0 0 0
1 1 1 1
0 1 0 1
樣例輸出 Copy
OK
#include<stdio.h> const int N=100; int main() {int a[N][N];int i,j,n,x,y,sum,c=0,b=0;scanf("%d",&n);for(i=0;i<n;i++)for(j=0;j<n;j++){scanf("%d",&a[i][j]);}for(i=0;i<n;i++)//行{sum=0;for(j=0;j<n;j++){sum+=a[i][j];}if(sum%2!=0){c++;x=i;}}for(j=0;j<n;j++)//列{sum=0;for(i=0;i<n;i++){sum+=a[i][j];}if(sum%2!=0){b++;y=j;}}if(c==0&&b==0)printf("OK\n");else if(c==1&&b==1)printf("Change bit(%d,%d)\n",x,y);elseprintf("Corrupt\n");return 0; }
總結
以上是生活随笔為你收集整理的ZZULIOJ 1126: 布尔矩阵的奇偶性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ZZULIOJ 1114: 逆序
- 下一篇: OJ1009: 求平均分