蒟蒻代码五年级小学生
  • 板块P1683 入门
  • 楼主Eden2026
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/7/20 09:29
  • 上次更新2023/11/3 08:44:12
查看原帖
蒟蒻代码五年级小学生
870374
Eden2026楼主2023/7/20 09:29
#include <iostream>
using namespace std;
#define int long long
#define endl '\n'
#define maxn 30  
int n,m,sum=1;
int dx[4]={-1,0,1,0};
int dy[4]={0,1,0,-1}; 
char a[maxn][maxn];
bool vist[maxn][maxn];
void dfs(int x,int y)
{
	for(int i=0;i<4;i++)
	{ 
		int xx=x+dx[i],xy=y+dy[i];
		if(vist[xx][xy]==false&&a[xx][xy]=='.')
		{
			vist[xx][xy]=true;
			sum++;
			dfs(xx,xy);
		}
	}
}
signed main(){
	ios::sync_with_stdio(false);
	cin.tie(0);cout.tie(0);
	cin>>m>>n;
	for(int i=0;i<=n;i++)
		for(int j=0;j<=m;j++)
			a[i][j]='0';     
	for(int i=1;i<=n;i++)
	{
	for(int j=1;j<=m;j++)
	{
		cin>>a[i][j];
		if(a[i][j]=='@')
		{
			vist[i][j]=true;
			dfs(i,j);
		}
	}
	}
	cout<<sum;
	return 0;
}
2023/7/20 09:29
加载中...