传送门:http://poj.org/problem?id=1979
昨天晚上做了这个题,死活没做对,当时就想这么水的题怎么能错呢?今天一看,这个题输入行和列的顺序和以前做的题正好颠倒了(我一直记得之前都是先输入行,再输入列,这个题先输入的列),恍然大悟
#include <stdio.h>
char map[21][21];
int sum,n,m;
int next[4][2] = {
{0,1},{1,0},{0,-1},{-1,0}};
void BFS(int x,int y)
{
int tx,ty,k;
for(k = 0; k < 4; ++k)
{
tx = x + next[k][0];
ty = y + next[k][1];
if(tx < 0 || ty < 0 || tx >= n || ty >= m)
continue;
if(map[tx][ty] == '.')
{
map[tx][ty] = '#';
sum++;
BFS(tx,ty);
}
}
}
int main(