蒟蒻求助QWQ
  • 板块P1683 入门
  • 楼主lk323232
  • 当前回复8
  • 已保存回复8
  • 发布时间2022/5/17 10:19
  • 上次更新2023/10/28 01:16:02
查看原帖
蒟蒻求助QWQ
504237
lk323232楼主2022/5/17 10:19

啥也打印不出来啊..

#include<bits/stdc++.h>
using namespace std;
int n,m,lit,ans=1;
char mp[21][21];
bool vis[21][21];
int dx[4]={1,-1,0,0};
int dy[4]={0,0,1,-1};
void dfs(int x,int y){
	vis[x][y]=true;
	lit=max(lit,ans);
	for(int i=0;i<4;++i){
		int nx=x+dx[i];
		int ny=y+dy[i];
		if(nx>0&&nx<=n&&ny>0&&ny<=m&&mp[nx][ny]!='#'){
			if(!vis[nx][ny]) ans++;
			dfs(nx,ny);
		}
	}
}
int main(){
	cin>>m>>n;
	for(int i=1;i<=n;++i)
	for(int j=1;j<=m;++j)
	cin>>mp[i][j];
	for(int i=1;i<=n;++i){
		for(int j=1;j<=m;++j){
			if(mp[i][j]=='.'&&!vis[i][j]){
				dfs(i,j);
				ans=1;
			}			
		}
	}
	cout<<lit;	
	return 0;
}
2022/5/17 10:19
加载中...