求助!!为啥不对啊啊!!救命
  • 板块P1331 海战
  • 楼主null_jinjin
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/3/12 19:41
  • 上次更新2023/10/28 06:44:36
查看原帖
求助!!为啥不对啊啊!!救命
657501
null_jinjin楼主2022/3/12 19:41
#include<iostream>
using namespace std;
int n,m,ans;
char a[1005][1005];
int dx[4]={0,0,-1,1},dy[4]={-1,1,0,0};
void dfs(int x,int y)
{
	   int ax,ay;
       a[x][y]='.';
    	for(int i=0;i<4;i++)
		{
			ax=x+dx[i];
			ay=y+dy[i];
			if(ax>0&&ax<=n&&ay>0&&ay<=m&&a[ax][ay]!='.')
			dfs(ax,ay);
		}
		return ;
	
}
int main()
{
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	for(int j=1;j<=m;j++)
	{
		cin>>a[i][j];
	}
	for(int i=1;i<=n;i++)
	for(int j=1;j<=m;j++)
	{
		if(a[i][j]!='.')
		{
			dfs(i,j);
			ans++;
		}
	}
	cout<<"There are "<<ans<<" ships.";
	return 0;
}
2022/3/12 19:41
加载中...