P1387 最大正方形

2022-05-13 22:51:03 字數 982 閱讀 7079

法1:矩陣字首和(n^3)

列舉點i,j 和邊長o,如果右下角與左下角之間的數是完全平方數,既是正方形。

#include

#include

#include

#include

#include

#include

#include

#include

#define ll long long

using

namespace

std;

int w[109][109],s[109][109],n,m;

int main()

for(int i=1;i<=n;i++)

}for(int i=1;i<=n;i++)

for(int j=1;j<=m;j++)

}printf("%d",ans);

return

0;}

法2:dp

詳見if(w[i][j])f[i][j]=min(f[i][j-1],f[i-1][j],f[i-1][j-1])+1;

f[i][j]表示以i,j為右下角的正方形的最大邊長

#include

#include

#include

#include

#include

#include

#include

#include

#define ll long long

using

namespace

std;

int w[109][109],f[109][109],n,m;

int main()

for(int i=1;i<=n;i++)

for(int j=1;j<=m;j++)

printf("%d",ans);

return

0;}

P1387 最大正方形

法1 矩陣字首和 n 3 列舉點i,j 和邊長o,如果右下角與左下角之間的數是完全平方數,既是正方形。include include include include include include include include define ll long long using namespace...

P1387 最大正方形

在乙個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 0 1 1...

P1387 最大正方形

在乙個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 0 1 1...