題意很簡單,就是問你是否存在乙個完整的全一矩形,並且矩形外沒有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列交叉位置的...