奇葩

P1681 最大正方形II

题目中还有m的啊 你只读入了n = = @[url=/usershow?uid=8]发源于[/url]
by li20082008li @ 2013-09-19 17:04:12


恶…… 就这么过了 @[url=/usershow?uid=16]li20082008li[/url]
by 发源于 @ 2013-09-19 17:58:18


```cpp #include<bits/stdc++.h> #include<iostream> #include<cstdio> #include<string> using namespace std; int g[1501][1501],a[1501][1500],f[1500][1500]; int num,n,m; int check(int q,int w,int x) {g[q][w]=a[q][w]; for(int i=q-1;i>=q-x+1;i--) {g[i][w]=1-a[i+1][w]; if(a[i][w]!=g[i][w]) return 0; } for(int j=w-1;j>=w-x+1;j--) for(int i=q;i>=q-x+1;i--) { g[i][j]=1-g[i][j+1]; if(g[i][j]!=a[i][j]) return 0; } return 1; } int ch(int x) { for(int i=x;i<=n;i++) for(int j=x;j<=m;j++) { num=f[i][j]-f[i-x][j]-f[i][j-x]+f[i-x][j-x]; if(num==(x-1)/2*x||num==(x+1)/2*x) if(check(i,j,x)) return 1; } return 0; } int main() { int l,r,mid; cin>>n>>m; for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) { cin>>f[i][j]; a[i][j]=f[i][j]; f[i][j]=f[i-1][j]+f[i][j-1]-f[i-1][j-1]+f[i][j]; } l=0;r=min(m,n); while(l<r) { mid=(l+r+1)/2; if(ch(mid)) l=mid; else r=mid-1; } cout<<l<<endl; } 求大佬看看为什么WA了,郁闷!!!!!!!!!! ```
by 一念之间 @ 2017-08-11 08:31:51


考古
by UnyieldingTrilobite @ 2020-07-05 14:41:48


考古
by rui_er @ 2020-07-05 14:43:43


考古
by Prean @ 2020-07-05 15:15:21


考古
by UltiMadow @ 2020-07-05 15:28:36


考古
by lion0514 @ 2020-08-09 09:19:25


考古
by ztx__ @ 2020-08-20 13:18:37


考古
by 无我1979 @ 2021-08-18 11:05:46


| 下一页