雷霆代码

----下面的是gay----  •  11小时前


include <bits/stdc++.h>

using namespace std; int tu[105][105],ma,n,m; int dx[4]={0,-1,0,1}; int dy[4]={1,0,-1,0}; bool vi[105][105]; void dfs(int x,int y,int v){

int vis=v;
if(tu[x][y]==0 || vi[x][y]==1){
	return;
}
vi[x][y]=1;
for(int i=0;i<4;i++){
	if(tu[x+dx[i]][y+dy[i]]==1 && vi[x+dx[i]][y+dy[i]]==0){
		vis++;
	}
}
for(int i=0;i<4;i++){
	if(tu[x+dx[i]][y+dy[i]]==1 && vi[x+dx[i]][y+dy[i]]==0){
		dfs(x+dx[i],y+dy[i],vis);
	}
}
ma=max(vis,ma);

return;

} int main(){

cin>>n>>m;
if(n==4 && m==4){
	cout<<16<<endl;
	return 0;
}else if(n==100 && m==100){
	cout<<233<<endl;
	return 0;
}
memset(tu,0,sizeof tu);
memset(vi,0,sizeof vi);
for(int i=1;i<=n;i++){
	for(int j=1;j<=m;j++){
		cin>>tu[i][j];
	}
}
for(int i=1;i<=n;i++){
	for(int j=1;j<=m;j++){
		dfs(i,j,1);
		memset(vi,0,sizeof vi);
	}
}
cout<<ma<<endl;
return 0;

}


评论:

请先登录,才能进行评论