本地测试过了数据1但是洛谷上没过
  • 板块P1767 家族
  • 楼主dazahui
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/11/27 20:30
  • 上次更新2023/11/27 22:10:39
查看原帖
本地测试过了数据1但是洛谷上没过
1068903
dazahui楼主2023/11/27 20:30
#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);
}

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

2023/11/27 20:30
加载中...