全 1 子矩陣(列舉 思維)

2021-09-27 13:22:24 字數 941 閱讀 6737

題意很簡單,就是問你是否存在乙個完整的全一矩形,並且矩形外沒有1存在;

思路也很簡單:

1.兩個for列舉 到第乙個1時,標記第乙個的座標,那麼如果存在全一矩陣,那麼這個1必定是矩陣的左上角;

2.找出由1組成的長和寬;

3.在這個選出來的矩形中找是否存在0;

4.在矩形外面找是否存在1;

所以ac**:

#include

using

namespace std;

intmain()

int cnt1=

0,cnt2=

0,r,l;

int f=0;

for(

int i=

0;i)for

(int k=i;k

) f=1;

break;}

}if(f)break;}

if(!f)// cout/ cout

for(

int i=r;i

)else book[i]

[j]=1;

}if(flag1)

break;}

if(flag1)

puts

("no");

else}}

if(flag2)

break;}

if(flag2)

puts

("no");

///如果存在,則不能構成乙個完整的全一矩形

else}}

return0;

}

面積最大的全1子矩陣

題目描述 在乙個m n的矩陣中,所有的元素只有0和1,從這個矩陣中找出乙個面積最大的全1子矩陣,所謂最大是指元素1的個數最多。輸入 輸入可能包含多個測試樣例。對於每個測試案例,輸入的第一行是兩個整數m n 1 m n 1000 代表將要輸入的矩陣的大小。矩陣共有m行,每行有n個整數,分別是0或1,相...

九度 1497 面積最大的全1子矩陣

題目描述 在乙個m n的矩陣中,所有的元素只有0和1,從這個矩陣中找出乙個面積最大的全1子矩陣,所謂最大是指元素1的個數最多 leetcode 原題,沒有案例就是跪,wa 到沒脾氣 未通過九度測試 include include include include include using names...

子矩陣(暴搜(全排列) DP)

一 題目 子矩陣時間限制 1 sec 記憶體限制 128 mb 提交 1 解決 1 提交 狀態 討論版 題目描述 給出如下定義 1.子矩陣 從乙個矩陣當中選取某些行和某些列交叉位置所組成的新矩陣 保持行與列的相對順序 被稱為原矩陣的乙個子矩陣。例如,下面左圖中選取第2 4行和第2 4 5列交叉位置的...