加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

[USACO5.3]巨大的牛棚Big Barn

发布时间:2020-12-14 05:07:03 所属栏目:大数据 来源:网络整理
导读:[TimeGate] https://www.luogu.org/problem/P2701 【解题思路】 f[i][j]=min(min(f[i][j-1],f[i-1][j]),f[i-1][j-1])+1; f(i,j)表示以(i,j)为右下角的最大正方形的边长。 【code】 1 #include cstdio 2 #include iostream 3 #include algorithm 4 using

[TimeGate]

https://www.luogu.org/problem/P2701

【解题思路】

f[i][j]=min(min(f[i][j-1],f[i-1][j]),f[i-1][j-1])+1;

f(i,j)表示以(i,j)为右下角的最大正方形的边长。

【code】

 1 #include <cstdio>
 2 #include <iostream>
 3 #include <algorithm>
 4 using namespace std;  5 int n,t,x,y,ans=-1<<29;  6 bool vis[1005][1005];  7 int f[1005][1005];  8 int main(){  9     //freopen("2701.in","r",stdin); 10     //freopen("2701.out","w",stdout);
11     scanf("%d%d",&n,&t); 12     while(t--){ 13         scanf("%d%d",&x,&y); 14         vis[x][y]=true; 15  } 16     for(register int i=1;i<=n;i++){ 17         for(register int j=1;j<=n;j++){ 18             if(!vis[i][j]) 19                 f[i][j]=min(f[i-1][j-1],min(f[i][j-1],f[i-1][j]))+1; 20             ans=max(ans,f[i][j]); 21  } 22  } 23     printf("%dn",ans); 24     return 0; 25 }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读