hdu 1241 Oil Deposits(dfs入门)

来源:互联网 发布:数据成熟度模型 编辑:程序博客网 时间:2024/05/20 19:32
 1 #include <iostream> 2 #include <cstdio> 3 char map[101][101]; 4 int m, n; 5 int dir[8][2] = {{-1,1},{0,1},{1,1},{-1,0},{1,0},{-1,-1},{0,-1},{1,-1}};  //八个方向 6 void dfs(int x, int y) 7 { 8     for (int i = 0; i < 8; ++i) 9     {10         int fx = x + dir[i][0];11         int fy = y + dir[i][1];12         if (fx>=0 && fx<m && fy>=0 && fy<n && map[fx][fy] == '@')13         {14             map[fx][fy] = '*';15             dfs(fx, fy);16         }17     }18 }19 int main()20 {21     while (scanf("%d %d", &m, &n) != EOF && m)22     {23         for (int i = 0; i < m; ++i)24             for (int j = 0; j < n; ++j)25                 std::cin >> map[i][j];26         int count = 0;27         for (int i = 0; i < m; ++i)28             for (int j = 0; j < n; ++j)29                 if (map[i][j] == '@')30                 {31                     ++count;32                     dfs(i, j);33                 }34         printf("%d\n", count);35     }36     system("pause");37     return 0;38 }