Help 64pts求助!!!
  • 板块P1331 海战
  • 楼主JRJMC_qwqqwq
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/3/11 17:41
  • 上次更新2023/10/23 21:53:29
查看原帖
Help 64pts求助!!!
638816
JRJMC_qwqqwq楼主2023/3/11 17:41

求助大佬

代码在这

Rt

#include<bits/stdc++.h>
using namespace std;
int n,m;
const int dx[]={-1,0,1,0};
const int dy[]={0,-1,0,1};
char f[10005][10005];
int cnt=0; 
bool is_in(int x,int y){
    return x>=0&&x<n&&y>=0&&y<m;
}
void floodfill(int x,int y){
    f[x][y]='.';
    for(int i=0;i<4;++i){
        int xx=x+dx[i];
        int yy=y+dy[i];
        if(is_in(xx,yy)&&f[xx][yy]=='#')floodfill(xx,yy);
    }
}
void run(){
    for(int i=0;i<n;++i){
        for(int j=0;j<m;++j){
            if(f[i][j]=='#'){
                floodfill(i,j);
                ++cnt;
            }
        } 
    }
    if(cnt>1)printf("There are %d ships.",cnt); 
    else printf("Bad placement.");
}
int main(){
    scanf("%d %d",&n,&m);
    for(int i=0;i<n;++i)
        scanf("%s",f[i]); 
    run();
    return 0;
}
2023/3/11 17:41
加载中...