题目:给你一个矩阵和某些点,找到给的点所处连续的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] == '