大佬救我,五个测试点WA了,用的深搜
  • 板块P1331 海战
  • 楼主kun_lei
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/8/19 07:48
  • 上次更新2023/11/3 02:46:41
查看原帖
大佬救我,五个测试点WA了,用的深搜
948032
kun_lei楼主2023/8/19 07:48

大佬救我,五个测试点WA了,用的深搜

#include<bits/stdc++.h>
using namespace std;
int m,n,c;
char a[1000][1000];
int sum[5]= {0,0,1,0,-1};
int som[5]= {0,1,0,-1,0};
void fun(int x,int y) {
	a[x][y]='.';//标记“1”
	int s1,s2;
	for(int i=1;i<=4;i++) {
		s1=x+sum[i];
		s2=y+som[i];
		if(a[s1][s2]=='#'&&s1>=0&&s1<=n&&s2>=0&&s1<=m){ //如果为#,则递归
			fun(s1,s2);
		}
	}
}
int main() {
	cin>>n>>m;//输入
	for(int i=1; i<=n; i++) {
		for(int j=1; j<=m; j++) {
			cin>>a[i][j];
		}
	}
	//如果为#,则c++
	for(int i=1; i<=n; i++) {
		for(int j=1; j<=m; j++) {
			if(a[i][j]=='#'){
				c++;
				fun(i,j);
			}
		}
	}
	if(c!=0){
			cout<<"There are "<<c<<" ships.";
	}
	else{
	cout<<"Bad placement.";
}
	return 0;
}





2023/8/19 07:48
加载中...