为什么显示源文件未编译求dalao帮
  • 板块P1331 海战
  • 楼主ko_no_lzx_da
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/7/8 14:47
  • 上次更新2023/11/4 18:24:56
查看原帖
为什么显示源文件未编译求dalao帮
418419
ko_no_lzx_da楼主2021/7/8 14:47
#include<iostream>
#include<cstring>
#include<string>
using namespace std;
char a[100000][100000];
int x[4]={0,0,1,-1};
int y[4]={1,-1,0,0};
int num=1;
int n,m,book[10000][10000]; 
void dfs(int idx,int idy,int color1){
	for(int i=0;i<4;i++){
		int dx=idx+x[i];
		int dy=idy+y[i];
		if(dx>n||dx<0||dy<0||dy>m)continue;
		if(book[dx][dy]==0&&a[dx][dy]=='#'){
			book[dx][dy]=color1;
			dfs(dx,dy,color1);
		}
	}
	return;
} 
int main(){
	cin >>n>>m;
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			cin >>a[i][j];
			if(a[i][j]=='.')book[i][j]=-1;
		}
	}
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			if(a[i][j]=='#'&&book[i][j]==0){
				book[i][j]=num;
				dfs(i,j,num);
				num++;
			}
		}
	} 
	cout <<"There are "<<num<<"ships.";
	return 0;
}


2021/7/8 14:47
加载中...