zoukankan      html  css  js  c++  java
  • 黑白图像

    题目描述:

    代码描述:

     1 //黑白图像
     2 #include<stdio.h>
     3 #include<string.h>
     4 #define MAX 20
     5 int doted[MAX][MAX],vis[MAX][MAX];
     6 void dfs(int i,int j)
     7 {
     8     if(!doted[i][j]||vis[i][j]) return;
     9     vis[i][j]=1;
    10     dfs(i-1,j-1);dfs(i,j-1);dfs(i+1,j-1);
    11     dfs(i-1,j);                dfs(i+1,j);
    12     dfs(i-1,j+1);dfs(i,j+1);dfs(i+1,j+1);
    13 }
    14 int main()
    15 {
    16     int n,count;
    17     char s[MAX];
    18     while(scanf("%d",&n)==1&&n>0)
    19     {
    20         count=0;
    21         memset(vis,0,sizeof(vis));
    22         for(int i=0;i<n;i++)
    23         {
    24             scanf("%s",s);
    25             for(int j=0;j<n;j++)
    26             {
    27                 doted[i+1][j+1]=s[j]-48;
    28             }
    29         }
    30         for(i=1;i<=n;i++)
    31         {
    32             for(int j=1;j<=n;j++)
    33             {
    34                 printf("%d ",doted[i][j]);
    35             }
    36             printf("
    ");
    37         }
    38         for(i=1;i<=n;i++)
    39         {
    40             for(int j=1;j<=n;j++)
    41             {
    42                 if(doted[i][j]&&!vis[i][j])
    43                 {
    44                     count++;
    45                     dfs(i,j);
    46                 }
    47             }
    48         }
    49         printf("%d
    ",count);
    50     }
    51     return 0;
    52 }

    运行结果:

  • 相关阅读:
    大三学习进度64
    大三学习进度70
    中美科技巨头——BATH和GAFA
    多线程写excel数据思路
    3
    1
    比特币
    加分项
    3e
    换题了
  • 原文地址:https://www.cnblogs.com/bboykaku/p/12718712.html
Copyright © 2011-2022 走看看