矩陣由0和1組成,求不同行不同列1的個數,c 程式設計

2022-06-25 04:20:02 字數 785 閱讀 5134

1樓:

7.16

我好好想想再回覆你。現在思路還沒完全清晰。

7.17

我想到了乙個簡單方法:

對於n*n的矩陣,它的不同行不同列1的個數最大值是n,如果取值小於n,比如為n-1,那麼行列式必然有某一行或/和某一列全為零。那麼,如果取值為n-i,n-1,那麼行列式必然有 i 行或/和列全為零。然後我們就可以按行和列依次遍歷。

大概明白了吧?

在寫程式時,定義乙個二維陣列a[n][n],用於存放矩陣資料。定義兩個整型數m和n,初始值都為0,分別用於存放行遍歷和列遍歷的非零單行和單列的個數。比如遍歷第一單行的時候,遇到乙個1,就把m加1,然後跳出,進入第二列遍歷,依次迴圈下去到迴圈結束。

然後再按一樣的方式進行列遍歷。最後比較m和n,取值較小者,就是所求的個數了。複雜度為n^2,

當然還有比較麻煩的方法就是用樹了,複雜度為n!

有什麼新的想法或問題,歡迎**!嘿嘿

2樓:

#include

using namespace std;

int main()

for(i=0;i<5;i++)

}cout<<"1的個數為:"<

3樓:匿名使用者

搞個二維陣列,遍歷下

4樓:匿名使用者

你題意表述不清楚吧,該是求最多有多少個獨立的1吧

即求二分圖最大匹配數,圖論最優化中的一種重要問題,有各種專門演算法

查詢二分圖基數匹配演算法看看吧

由1和0組成的8位二進位制定點整數 補碼表示 ,可表示的最大負數

因為是最大的負數,所以符號位一定是1。補碼10000111,反碼10000110,原碼11111001 121 121肯定是這個,要過程嗎 倒數第二行的取反,符號位不需變換,應該為 取反 10010000 16d 最後一句難免有點牽強。1的8位二進位製數 00000001b,取反 11111110b...

小數由1和001組成,這個數寫作什麼,保留整

乙個小數由10個1和9個0.01組成,這個數寫作 10.09 保留整數是 10 第一題 由8個十,6個0.1和9個0.01組成的數寫作多少?讀作多少?把它保留一位小數是多少?第二 180.69 八十點六九 80.7 乙個數由9個一,9個10 1,6個100 1和5個0.001組成,這個數寫作 保留一...

18 058是由個1個0 001組成,小數中的兩個數字 8 所表示的數值相差

18.058是由 18 個1,58 個0.001組成,小數中的兩個數字 8 所表示的數值相差 7.992 800.018這個小數由幾個10,和幾個0.01和 個0.001組成,這個小數保留兩位小數後約是?800.018這個小數有 80 個10,1 個0.01和 8 0.001組成,這個小數保留兩位小...