E

来源:互联网 发布:python干什么厉害 编辑:程序博客网 时间:2024/04/28 04:12


代码:

#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <stack>#include <map>#include <set>#include <vector>#include <queue>#define mem(p,k) memset(p,k,sizeof(p));#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define inf 0x6fffffff#define LL long longusing namespace std;int mapp[1100][1100],dp[1100][1100];int main(){    int t;    cin>>t;    while(t--){        int n,m,ans=-1;        cin>>n>>m;        mem(mapp,0);        mem(dp,0);        for(int i=0;i<n;i++){            for(int j=0;j<m;j++)scanf("%d",mapp[i]+j);        }        for(int i=0;i<m;i++){            int sum=0;            for(int j=0;j<n;j++){                if(mapp[j][i]){                    sum++;                }                else sum=0;                dp[j][i]=sum;            }        }        for(int i=0;i<n;i++){            for(int j=0;j<m;j++){                if(ans<dp[i][j]){                    int le=dp[i][j],k;                    for(k=j;k<n&&le>ans;k++){                        le=min(dp[i][k],le);                        ans=max(ans,min(le,k-j+1));                        //if(i==3)cout<<le<<" "<<ans<<endl;                    }                    j=k;                }            }        }        cout<<ans<<endl;    }    return 0;}



0 0
原创粉丝点击