码迷,mamicode.com
首页 > 其他好文 > 详细

uva 469 - Wetlands of Florida

时间:2016-01-18 20:40:46      阅读:343      评论:0      收藏:0      [点我收藏+]

标签:

题目:给你一个矩阵和某些点,找到给的点所处连续的W区域的面积(八个方向)。

分析:搜索。floodfill算法,利用搜索直接求解就可以了。

说明:注意读入数据的格式。

 1 #include <cstdio>
 2 #include <cstring>
 3 using namespace std;
 4 
 5 char map[105][105], used[105][105];
 6 int ans;
 7 void dfs(int x, int y)
 8 {
 9     if(x < 0 || y < 0 || map[x][y] == 0)
10         return;
11     if(used[x][y] != 0 || map[x][y] != W)
12         return;
13 
14     used[x][y] = 1;
15     ans ++;
16     int i, j;
17     for (i = -1; i <= 1; i++)
18         for (j = -1; j <= 1; j++)
19             dfs(x+i, y+j);
20 }
21 
22 int main()
23 {
24     int t, i, j;
25     char str[105];
26     scanf("%d ", &t);
27     while(t--)
28     {
29         memset(map, 0, sizeof(map));
30         int n = 0;
31         while(gets(str))
32         {
33             if(str[0] == \0)
34                 break;
35             if(str[0] != W && str[0] != L)
36             {
37                 sscanf(str, "%d %d", &i, &j);
38                 memset(used, 0, sizeof(used));
39                 ans = 0;
40                 dfs(i-1, j-1);
41                 printf("%d\n", ans);
42             }
43             else{
44                 sscanf(str, "%s", map[n++]);
45             }
46         }
47         if(t)
48             puts("");
49     }
50     return 0;
51 }

 

uva 469 - Wetlands of Florida

标签:

原文地址:http://www.cnblogs.com/aze-003/p/5140274.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!