POJ1979

Posted starry

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POJ1979相关的知识,希望对你有一定的参考价值。

Red and Black

好久没敲代码了,试了个简单的DFS题目练练手,这题就是一个DFS模板,一直写下去就行了。

 1 #include <iostream>
 2 #include <string.h>
 3 using namespace std;
 4 char a[21][21];
 5 int dx[] = {1, 0, -1, 0}, dy[] = {0, -1, 0, 1}, ans, n, m;
 6 bool vis[21][21];
 7 
 8 void dfs(int x, int y){
 9     a[y][x] = #;
10     vis[y][x] = true;
11     ans++;
12     for(int i = 0 ; i < 4; i ++){
13         int xx = x + dx[i], yy = y + dy[i];
14         if(0 <= xx && xx < n && 0 <= yy && yy < m && a[yy][xx] ==. && vis[yy][xx] == false){
15             dfs(xx,yy);
16         }
17     }
18 }
19 
20 int main(){
21     while(cin>>n>>m){
22         if(n==0&&m==0) break;
23         memset(a,0,sizeof(a));
24         memset(vis,false,sizeof(vis));
25         ans = 0;
26         for(int i = 0; i < m; i ++){
27             for(int j = 0; j < n; j ++){
28                 cin >> a[i][j];
29             }
30         }
31 
32         int xx, yy;
33         for(int i = 0; i < m; i ++){
34             for(int j = 0; j < n; j ++){
35                 if(a[i][j] == @){
36                     xx = j; yy = i;
37                     break;
38                 }
39             }
40         }
41         dfs(xx,yy);
42         cout << ans << endl;
43     }
44     return 0;
45 }

 

以上是关于POJ1979的主要内容,如果未能解决你的问题,请参考以下文章

POJ 1979 Red and Black (简单dfs)

POJ 1979 DFS

poj1979 解题报告

水题-poj1979

[dfs] [FloodFill] POJ1979 Red And Black

POJ1979 Red and Black