poj1979 Red and Black(DFS)

网友投稿 242 2022-09-17

poj1979 Red and Black(DFS)

Red and Black



Description



There is a rectangular room, covered with square tiles. Each tile is colored either red or black. A man is standing on a black tile. From a tile, he can move to one of four adjacent tiles. But he can't move on red tiles, he can move only on black tiles. 

Write a program to count the number of black tiles which he can reach by repeating the moves described above. 


Input



The input consists of multiple data sets. A data set starts with a line containing two positive integers W and H; W and H are the numbers of tiles in the x- and y- directions, respectively. W and H are not more than 20. 

There are H more lines in the data set, each of which includes W characters. Each character represents the color of a tile as follows. 

'.' - a black tile 
'#' - a red tile 
'@' - a man on a black tile(appears exactly once in a data set) 
The end of the input is indicated by a line consisting of two zeros. 


Output



For each data set, your program should output a line which contains the number of tiles he can reach from the initial tile (including itself).


Sample Input


6 9....#......#..............................#@...#.#..#.11 9.#..........#.#######..#.#.....#..#.#.###.#..#.#..@#.#..#.#####.#..#.......#..#########............11 6..#..#..#....#..#..#....#..#..###..#..#..#@...#..#..#....#..#..#..7 7..#.#....#.#..###.###...@...###.###..#.#....#.#..0 0


Sample Output


4559613


Source



​Japan 2004 Domestic​

Time Limit: 1000MS

 

Memory Limit: 30000K

Total Submissions: 25797

 

Accepted: 13967

[​​Submit​​​]   [Go Back]   [​​Status​​​]   [​​Discuss​​]

直接附上代码吧。很简单的深搜

#include #include char map[25][25];int dir[4][2]={1,0,-1,0,0,1,0,-1},sum,n,m;bool limit(int x,int y)//是否出界{ if(x>=0&&x=0&&y

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:国家卫健委:新增本土确诊病例36例 其中黑龙江21例!
下一篇:hdu1280 前m大的数(数组下标排序)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~