時間限制: 1 s
空間限制: 128000 kb
題目等級 : ** gold
在乙個01矩陣中,包含有很多的正方形子矩陣,現在要求出這個01矩陣中,最大的正方形子矩陣,使得這個正方形子矩陣中的某一條對角線上的值全是1,其餘的全是0。
輸入描述 input description
第一行有兩個整數n和m(1<=n,m<=1000)。接下來的n行,每行有m個0或1的數字。每兩個數字之間用空格隔開。
輸出描述 output description
只有乙個整數,即這個滿足條件的最大的正方形子矩陣的邊長。
樣例輸入 sample input
4 60 1 0 1 0 0
0 0 1 0 1 0
1 1 0 0 0 1
0 1 1 0 1 0
樣例輸出 sample output
資料範圍及提示 data size & hint
動態規劃
#include #include#define ref(i,x,y)for(int i=x;i<=y;i++)
#define def(i,x,y)for(int i=x;i>=y;i--)
#define max(a,b)a=a>b?a:b;
intn,m,ans;
int a[1001][1001],f[1001][1001],s[2][1001][1001
];int
main()
ref(i,1,n)ref(j,1
,m)
if(a[i][j])
memset(f,
0,sizeof
f);
ref(i,1,n)def(j,m,1
)
if(a[i][j])
printf("%d
",ans);
return0;
}
wikioi 1259 最大正方形子矩陣
題目描述 description 在乙個01 矩陣中,包含有很多的正方形子矩陣,現在要求出這個 01矩陣中,最大的正方形子矩陣,使得這個正方形子矩陣中的某一條對角線上的值全是 1,其餘的全是0。輸入描述 input description 第一行有兩個整數n和m 1 n,m 1000 接下來的n行,...
最大正方形
題目鏈結 在乙個n m的只包含0和1的矩陣裡找出乙個不包含0的最大正方形,輸出邊長。輸入格式 輸入檔案第一行為兩個整數n,m 1 n,m 100 接下來n行,每行m個數字,用空格隔開,0或1.輸出格式 乙個整數,最大正方形的邊長 輸入樣例 1 複製 4 4 0 1 1 1 1 1 1 0 0 1 1...
最大正方形
題解 if a i j 1 f i j min min f i j 1 f i 1 j f i 1 j 1 1 f i j 表示以節點i,j為右下角,可構成的最大正方形的邊長。只有a i j 1時,節點i,j才能作為正方形的右下角 對於乙個已經確定的f i j x,它表明包括節點i,j在內向上x個節...