1026 布林矩陣

2022-09-03 03:39:08 字數 1733 閱讀 8954

乙個布林矩陣有一種奇偶性,即該矩陣所有行和所有列的和都是偶數。下面這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 2

int 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 #include34

intmain()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階方陣並檢查它是否具有奇偶均勢特性。如果沒有,你的程式應當再檢查一下它是否可以通過修改...