社区讨论
63分求条(消失的return),必关
P1331海战参与者 4已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @mlmrt990
- 此快照首次捕获于
- 2026/02/15 04:30 4 天前
- 此快照最后确认于
- 2026/02/18 22:50 13 小时前
CPP
//这是我的代码
#include<bits/stdc++.h>
using namespace std;
int r, c, s, l, p, q;
char a[1001][1001];
int ans;
bool flag;
void DFS(int x, int y){
int p, q, temp = 0;
for(q=y;;q++)
if(a[x][q]=='.'||q>c)
break;
q--;
for(p=x;;p++)
if(a[p][y]=='.'||p>r)
break;
p--;
for(int i=y;i<=q;i++){
for(int j=x;a[j][i]=='#';j++)
temp++;
if(temp!=p-x+1){
cout << "Bad placement.";
flag = 1;
return;
}
temp = 0;
}
for(int i=x;i<=p;i++)
for(int j=y;j<=q;j++)
a[i][j]='*';
ans++;
return;
}
int main(){
cin >> r >> c;
for(int i=1;i<=r;i++)
for(int j=1;j<=c;j++)
cin >> a[i][j];
for(int i=1;i<=r;i++)
for(int j=1;j<=c;j++)
if(a[i][j]=='#')
DFS(i, j);
if(flag)
return 0;
cout << "There are " << ans << " ships." << endl;
return 0;
}
//第一个测试点是这样的:
//6 6
// .....#
// ##...#
// ##...#
// ..#..#
// .....#
// ######
//但我的输出是这样的
//Bad placement.Bad placement.Bad placement.Bad placement.Bad placement.(再弱弱地说一句,我样例过了qwq)
//请dalao们指条明路qwq
回复
共 3 条回复,欢迎继续交流。
正在加载回复...