社区讨论
天塌了,只得54分啊
P1331海战参与者 3已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @mhjocbki
- 此快照首次捕获于
- 2025/11/04 05:50 4 个月前
- 此快照最后确认于
- 2025/11/04 05:50 4 个月前
大佬,帮个忙,为啥只得54分
CPP#include<iostream>
using namespace std;
int n,m,t,x1,y1,x2,y2,dx[4] = {0,1,0,-1},dy[4] = {1,0,-1,0},cnt = 0;
char map[1005][1005];
void dfs(int x,int y){
map[x][y] = '.';
for(int i = 0;i < 4;i++){
int tx = x+dx[i];
int ty = y+dy[i];
if(tx >= 0 && tx < n && ty >= 0 && ty < m && map[tx][ty] != '.'){
dfs(tx,ty);
}
}
}
int main(){
cin >> n >> m;
for(int i = 0;i < n;i++){
cin >> map[i];
}
for(int i = 0;i < n;i++){
for(int j = 0;j < m;j++){
if(map[i][j] == '#'){
cnt++;
dfs(i,j);
}
}
}
if(cnt > 0){
cout << "There are "<< cnt << " ships.";
}else{
cout << "Bad placement";
}
return 0;
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...