zoukankan      html  css  js  c++  java
  • poj-1979 dfs

     1 #include"cstring"
     2 #include"cstdio"
     3 const int maxn=20+5;
     4 char tile[maxn][maxn];//方块格子 
     5 int m,n,idx[maxn][maxn];//m行n列 ,idx判断是否访问过 
     6 int a[]={-1,0,1,0};
     7 int b[]={0,-1,0,1};//移动 
     8 int num; //黑格子数目 
     9 void dfs(int r,int c){
    10     if(r<0||r>=m||c<0||c>=n)    return;//出界
    11     if(idx[r][c]>0||tile[r][c]=='#')    return;    //已经访问的格子或者红色格子
    12     idx[r][c]=++num;//如果tile未访问过,标记访问,num+1
    13     for(int i=0;i<4;i++){
    14         dfs(r+a[i],c+b[i]);
    15     }
    16 }
    17 int main(){
    18     while(scanf("%d%d",&n,&m)==2&&n&&m){
    19         for(int i=0;i<m;i++)
    20             scanf("%s",tile[i]);
    21         memset(idx,0,sizeof(idx));
    22         num=0;
    23         for(int i=0;i<m;i++)
    24             for(int j=0;j<n;j++)
    25                 if(tile[i][j]=='@'){
    26                     
    27                     dfs(i,j);
    28                     break;
    29                 }
    30         printf("%d
    ",num);
    31     }
    32     return 0;
    33 }
    34  
  • 相关阅读:
    css--盒子模型
    目标爬取社会信用码
    KFC-位置分页爬虫
    百度翻译-爬虫
    网页采集器-UA伪装
    python模块2
    python模块
    go入门
    python垃圾回收机制
    Python高级用法
  • 原文地址:https://www.cnblogs.com/hutonm/p/5475059.html
Copyright © 2011-2022 走看看