poj-1979 dfs
生活随笔
收集整理的這篇文章主要介紹了
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\n",num);
31 }
32 return 0;
33 }
34
?
轉載于:https://www.cnblogs.com/hutonm/p/5475059.html
總結
以上是生活随笔為你收集整理的poj-1979 dfs的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 埃塞俄比亚货币 埃塞俄比亚的货币是什么
- 下一篇: 银行询证函办理流程