站外题求救QWQ!!
  • 板块灌水区
  • 楼主zhangyafei
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/8/16 10:03
  • 上次更新2024/8/16 11:35:44
查看原帖
站外题求救QWQ!!
945688
zhangyafei楼主2024/8/16 10:03

代码:

#include<bits/stdc++.h>
using namespace std;
int n,m,a[110][110],ans;
bool st[110][110];
int dx[10]={0,-1,0,1,0};
int dy[10]={0,0,1,0,-1};
void dfs(int x,int y,int cnt){
	if(ans<cnt)ans=cnt;
	for(int i=1;i<=4;i++){
		int dqx=x+dx[i];
		int dqy=y+dy[i];
		if(st[dqx][dqy]==0 && dqx>=1 && dqx<=n&&dqy>=1 &&dqy<=m){
			st[dqx][dqy]=1;
			dfs(dqx,dqy,cnt+1);
			st[dqx][dqy]=0;
		}
	}
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>a[i][j];
			if(a[i][j]==0) st[i][j]=1;
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(a[i][j]==1){
				st[i][j]=1;
				dfs(i,j,1);	
				st[i][j]=0;
			}
		}
	}
	cout<<ans;
	return 0;
}

求救!!!

2024/8/16 10:03
加载中...