首页 > 代码库 > 养动物

养动物

#include<iostream>
char data[100][100];
int map[100][100];
int h,l;
int dx[8]={0,1,1,1,0,-1,-1,-1};
int dy[8]={1,1,0,-1,-1,-1,0,1};
int max=0;
typedef struct node
{
    int x;
    int y;
}node;

void fun(int x,int y)
{    
     int tou=0;
     int wei=1;
     map[x][y]=2;
     node point[100];
     point[tou].x=x;
     point[tou].y=y;
     while(tou<wei)
     {
         for(int i=0;i<8;i++)
         {
             int nx=point[tou].x+dx[i];
             int ny=point[tou].y+dy[i];
             if(nx>=0&&nx<h&&ny>=0&&ny<l&&map[nx][ny]==1)
             {
                  map[nx][ny]=2;
                  point[wei].x=nx;
                  point[wei].y=ny;
                  wei++;
             }
         }
        tou++;
     }
     max++;
                   for(int i=0;i<h;i++)
                   {     for(int j=0;j<l;j++)
                      { printf("%d",map[i][j]);
                       }
                    printf("\n");
                   }
                  
}
int main()
{   
    freopen("input.txt","r",stdin);
    scanf("%d%d",&h,&l);
    getchar();
     for(int i=0;i<h;i++)
        { for(int j=0;j<l;j++)
             {
                 scanf("%c",&data[i][j]);
                 if(data[i][j]== )
                     map[i][j]=1;
                 else{
                     map[i][j]=0;
                 }
             }
            getchar();
         }
     for(int i=0;i<h;i++)
        { for(int j=0;j<l;j++)
          {
             if(map[i][j]==1)
               fun(i,j);         
           }
        }
     printf("%d",max);
}
        

 

养动物