codevs 1259 最大正方形子矩陣 WD

2022-04-30 03:21:07 字數 981 閱讀 7092

時間限制: 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個節...