悬关,大佬必入!!
  • 板块学术版
  • 楼主Chinese_Dragon
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/1/19 23:03
  • 上次更新2024/1/20 10:36:59
查看原帖
悬关,大佬必入!!
966143
Chinese_Dragon楼主2024/1/19 23:03

来自P1331的疑惑:

#include<bits/stdc++.h>
using namespace std;
char a[1010][1010];
bool f[1010][1010];
int dl[1000010][5];
int main()
{
    int n,m,ans=0;
    cin>>n>>m;
    for (int i=1;i<=n;++i)
    {
        for (int j=1;j<=m;++j)
        {
            cin>>a[i][j];
        }
    }
    for (int i=1;i<=n;++i)
    {
        for (int j=1;j<=m;++j)
        {
            if ((a[i][j]=='#')+(a[i][j+1]=='#')+(a[i+1][j]=='#')+(a[i+1][j+1]=='#')==3)
            {
                cout<<"Bad placement.";
                return 0;
            }
            if (a[i][j]=='#'&&f[i][j]==0)
            {
                ++ans;
                int head=1,tail=1;
                dl[head][1]=i;
                dl[head][2]=j;
                while (head<=tail)
                {
                    f[dl[head][1]][dl[head][2]]=1;
                    if (f[dl[head][1]-1][dl[head][2]]==0&&a[dl[head][1]-1][dl[head][2]]=='#')
                    {
                        tail++;
                        dl[tail][1]=dl[head][1]-1;
                        dl[tail][2]=dl[head][2];
                    }
                    if (f[dl[head][1]+1][dl[head][2]]==0&&a[dl[head][1]+1][dl[head][2]]=='#')
                    {
                        tail++;
                        dl[tail][1]=dl[head][1]+1;
                        dl[tail][2]=dl[head][2];
                    }
                    if (f[dl[head][1]][dl[head][2]-1]==0&&a[dl[head][1]][dl[head][2]-1]=='#')
                    {
                        tail++;
                        dl[tail][1]=dl[head][1];
                        dl[tail][2]=dl[head][2]-1;
                    }
                    if (f[dl[head][1]][dl[head][2]+1]==0&&a[dl[head][1]][dl[head][2]+1]=='#')
                    {
                        tail++;
                        dl[tail][1]=dl[head][1];
                        dl[tail][2]=dl[head][2]+1;
                    }
                    ++head;
                }
            }
        }
    }
    cout<<"There are "<<ans<<" ships.";
    return 0;
}

73 pts3RE调了一晚很崩溃TWT 有答必关,大佬们发发慈悲吧!!!

2024/1/19 23:03
加载中...