0分,几乎TLE,一直输出There are 1526854 ships.
  • 板块P1331 海战
  • 楼主xclyk
  • 当前回复6
  • 已保存回复6
  • 发布时间2023/4/24 19:37
  • 上次更新2023/10/23 17:38:23
查看原帖
0分,几乎TLE,一直输出There are 1526854 ships.
430911
xclyk楼主2023/4/24 19:37
#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发了一次帖,现在发现零回复,再来做这道题。

2023/4/24 19:37
加载中...