社区讨论

本地测试过了数据1但是洛谷上没过

P1767家族参与者 1已保存回复 0

讨论操作

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

当前回复
0 条
当前快照
1 份
快照标识符
@lpgw14pn
此快照首次捕获于
2023/11/27 20:31
2 年前
此快照最后确认于
2023/11/27 22:10
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int n,m,ans;
char mapp[105][205];
int read(int k)
{
    char ch;
    int j=0;
    while(1)
    {
        scanf("%c",&ch);
        if(ch=='\n') break;
        mapp[k][j]=ch;
        j++;
    }
    return j;
}
bool judge(int i,int j)
{
    if(i<0||i>=n||j<0||j>=m)return false;
    else if(mapp[i][j]==' '||mapp[i][j]=='*'||mapp[i][j]==0)return false;
    else return true;
}
void dfs(int i,int j)
{
    if(judge(i,j))
    {
        mapp[i][j]=0;
        dfs(i,j+1);
        dfs(i,j-1);
        dfs(i+1,j);
        dfs(i-1,j);
    }
}
int main()
{
    scanf("%d",&n);
    getchar();
    for(int i=0;i<n;i++)
    {
        int temp=read(i);
        if(m==0||m<temp) m=temp;
    }

    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            if(judge(i,j))
            {
                dfs(i,j);
                ans++;
            }
        }
    }
    printf("%d",ans);
}

求助!是读入的时候出错了吗?

回复

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

正在加载回复...