乙個布林矩陣有一種奇偶性,即該矩陣所有行和所有列的和都是偶數。下面這4×4的矩陣就具有奇偶性:
1 0 1 0
0 0 0 0
1 1 1 1
0 1 0 1
它所有行的和是2,0,4,2。它所有列的和是2,2,2,2。
現請你編寫乙個程式,讀入這個矩陣並檢查它是否具有奇偶性。如果沒有,你的程式應當再檢查一下它是否可以通過修改一位(把0修改為1,把1修改為0)來使它具有奇偶性。如果不可能,這個矩陣就被認為是破壞了。
輸入包含多組測試資料。每組測試資料的第一行是乙個整數n(1<=n<=100),代表該矩陣的大小。在接下來的行中,每行有n個整數。矩陣是由0或1構成的。n=0時,輸入結束。
對於每組輸入,如果這個矩陣具有奇偶性,則輸出「ok」。如果奇偶性能通過只修改該矩陣中的一位來建立,那麼輸出「change bit (i,j)」,這裡i和j是被修改的這位的行號和列號。否則,輸出「corrupt」。
41 0 1 0
0 0 0 0
1 1 1 1
0 1 0 1
41 0 1 0
0 0 1 0
1 1 1 1
0 1 0 1
41 0 1 0
0 1 1 0
1 1 1 1
0 1 0 10ok
change bit (2,3)
corrupt
**依舊有問題,查不出來
1 #include 2int main(void)3
;6inti,j,n;
7int
ia,ja;
8int
count1,count2;
9 count1=count2=0;10
11 scanf("
%d",&n);
12while
(n)1322}
23for(j=0;j)
2429}30
for(i=0;i)
3137
if((num[n][i]%2)!=0)38
42}43if(count1==0&&count2==0
)44 puts("ok"
);45
else
if(count1==1&&count2==1)46
49else
50 puts("
corrupt");
51 scanf("
%d",&n);52}
53return0;
5455 }
官方**
1 #include2 #include34intmain()519
for(r=c=i=0;i)
2026
if(c[i]%2)27
31}32if(!r&&!c)
33 puts("ok"
);34
else
if(r==1&&c==1
)35 printf("
change bit (%d,%d)\n
",x,y);
36else
37 puts("
corrupt");
38}39return0;
40 }
C語言求解布林矩陣的布林積運算
讓我們先回顧下布林矩陣的布林積運算的公式 如果a aij 是m p矩陣,b bij 是p n矩陣,則a和b的布林積 boolean product 是m n矩陣c a b cij 其中 cij ai1 b1j ai2 b2j aip bpj include 輸入n m的矩陣 void input i...
布林矩陣的奇偶性
題目描述 乙個布林方陣具有奇偶均勢特性,當且僅當 每行 每列總和為偶數,即包含偶數個1。如下面這個4 4的矩陣就具有奇偶均勢特性 1 0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 編寫程式,讀入乙個n階方陣並檢查它是否具有奇偶均勢特性。如果沒有,你的程式應當再檢查一下它是否可以通過修改...
1126 布林矩陣的奇偶性
題目描述 乙個布林方陣具有奇偶均勢特性,當且僅當 每行 每列總和為偶數,即包含偶數個1。如下面這個4 4的矩陣就具有奇偶均勢特性 1 0 1 0 0 0 0 0 1 1 1 1 0 1 0 1 編寫程式,讀入乙個n階方陣並檢查它是否具有奇偶均勢特性。如果沒有,你的程式應當再檢查一下它是否可以通過修改...