54pts求调
  • 板块P1331 海战
  • 楼主Y13790424887
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/8/17 14:53
  • 上次更新2024/8/17 17:17:23
查看原帖
54pts求调
1383315
Y13790424887楼主2024/8/17 14:53
#include<bits/stdc++.h>
using namespace std;
char a[1100][1100] ;
int n,m;
int fx[5]={0,0,1,0,-1};
int fy[5]={0,1,0,-1,0};
void dfs(int x,int y){
	a[x][y]='.';
	int tx,ty;
	for(int i=1;i<=4;i++){
		tx=x+fx[i];
		ty=y+fy[i];
         if(a[tx][ty]=='#'){
         	dfs(tx,ty);
		 }
	}
}
int main(){
	cin>>n>>m;
		int i,j,c;
		c=0;
	for(i=1;i<=n;i++){
		for(j=1;j<=m;j++){
			cin>>a[i][j];
		}
	}
		for(i=1;i<=n;i++){
		for(j=1;j<=m;j++){
		   if(a[i][j]=='#'){
			c+=1;
			dfs(i,j);
		   }
		}
	}
if(c==0)cout<<"Bad placement.";
else cout<<"There are "<<c<<" ships.";
}
2024/8/17 14:53
加载中...