样例没过却AC了?
查看原帖
样例没过却AC了?
348197
绊城烟雨“grz楼主2020/10/3 09:16
#include<bits/stdc++.h>
using namespace std;
int n,m,ans,place[1501][1501],dp[1501][1501];
int main()
{
    int i,j;
    scanf("%d%d",&n,&m);
    for (i=1;i<=n;i++)
      for (j=1;j<=m;j++)
        scanf("%d",&place[i][j]);
    if (place[1][1]) 
		place[1][0]=place[0][1]=0;
    else 
		place[1][0]=place[0][1]=1; 
    for(i=1;i<=n;i++){
        for(j=1;j<=m;j++){
        	if (place[i][j]==0&&place[i-1][j]==1&&place[i][j-1]==1){
        		dp[i][j]=min(dp[i-1][j-1],min(dp[i][j-1],dp[i-1][j]))+1;
			}
            else if (place[i][j]==1&&place[i-1][j]==0&&place[i][j-1]==0){
            	dp[i][j]=min(dp[i-1][j-1],min(dp[i][j-1],dp[i-1][j]))+1;
			}    	
	    }	
	}
    for (i=1;i<=n;i++)
      for (j=1;j<=m;j++)
        ans=max(ans,dp[i][j]);
    printf("%d\n",ans+1);
    return 0;
}

原本想着随便试一下,结果A掉了?????

2020/10/3 09:16
加载中...