4 条题解

  • 0
    @ 2021-11-28 12:37:43

    猴群和细胞数的代码可以一样,没想到吧!!!!!!!

  • -1
    @ 2021-11-26 18:31:17

    #include<iostream>
    using namespace std;
    const int N=101;
    int n,m,a[N][N],ans;
    void sb(int x,int y)
    {
    if(a[x][y]==0)
    {
    return;
    }
    a[x][y]=0;
    sb(x+1,y);
    sb(x-1,y);
    sb(x,y+1);
    sb(x,y-1);
    }
    int main()
    {
    cin>>n>>m;
    char hhh;
    for(int i=1;i<=n;i++)
    {
    for(int j=1;j<=m;j++)
    {
    cin>>hhh;
    if(hhh>'0')
    {
    a[i][j]=1;
    }
    else
    {
    a[i][j]=0;
    }
    }
    }
    for(int i=1;i<=n;i++)
    {
    for(int j=1;j<=m;j++)
    {
    if(a[i][j]==1)
    {
    sb(i,j);
    ans++;
    }
    }
    }
    cout<<ans+1;
    return 0;//谁敢用
    }

  • -2
    @ 2021-11-28 12:37:10

    直接复制细胞数的代码就可以了

  • -3
    @ 2021-11-28 12:35:43

    #include<bits/stdc++.h>
    using namespace std;
    int dx[4]={-1,0,1,0},
    dy[4]={0,1,0,-1};
    int bz[100][100],num=0,n,m;
    void doit(int p,int q)
    {
    int x,y,t,w,i;
    int h[1000][3];
    num++;bz[p][q]=0;
    t=0;w=1;h[1][1]=p;h[1][2]=q;
    do
    {
    t++;
    for(i=0;i<=3;i++)
    {
    x=h[t][1]+dx[i];y=h[t][2]+dy[i];
    if((x>=0)&&(x<m)&&(y>=0)&&(y<n)&&(bz[x][y]))
    {
    w++;
    h[w][1]=x;
    h[w][2]=y;
    bz[x][y]=0;
    }
    }
    }while(t<w);
    }
    int main()
    {
    int i,j;
    char s[100],ch;
    scanf("%d%d\n",&m,&n);
    for(int i=0;i<=m-1;i++)
    for(int j=0;j<=n-1;j++)
    bz[i][j]=1;
    for(i=0;i<=m-1;i++)
    {
    gets(s);
    for(j=0;j<=n-1;j++)
    if(s[j]=='0') bz[i][j]=0;
    }
    for(i=0;i<=m-1;i++)
    for(j=0;j<=n-1;j++)
    if(bz[i][j])
    doit(i,j);
    printf("%d",num);
    return 0;
    }

  • 1

信息

ID
1007
难度
7
分类
(无)
标签
递交数
17
已通过
8
通过率
47%
上传者