社区讨论

0分,几乎TLE,一直输出There are 1526854 ships.

P1331海战参与者 3已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@lo2pg99f
此快照首次捕获于
2023/10/23 17:38
2 年前
此快照最后确认于
2023/10/23 17:38
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int n,m,ans,fx[4][2]={-1,0,0,1,1,0,0,-1},b[1006][1006];
char a[1006][1006];
void dfs(int x,int y)
{
    int xx,yy;
    for(int i=0;i<4;i++)
    {
        xx=x+fx[i][0];
        yy=y+fx[i][1];
        if(xx>0&&xx<n&&yy>0&&yy<m&&a[xx][yy]=='.'&&b[xx][yy]==0)
        {
            b[xx][yy]=1;
            ans++;
            dfs(xx,yy);
            b[xx][yy]=0;
        }
    }
    return;
}
int main()
{
    cin>>n>>m;
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            cin>>a[i][j];
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
        {
            if(a[i][j]=='#')
                dfs(i,j);
        }
    if(ans==0){
    	cout<<"Bad placement.";
    	return 0;
	}
    cout<<"There are "<<ans<<" ships.";
    return 0;
}
蒟蒻默默哭泣,2022-5-13发了一次帖,现在发现零回复,再来做这道题。

回复

6 条回复,欢迎继续交流。

正在加载回复...