首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

poj 1979 Red and Black -DFS

2013-09-07 
poj 1979 Red and Black ---DFS#include iostream#include cstdio#include fstreamusing namespace

poj 1979 Red and Black ---DFS

#include <iostream>#include <cstdio>#include <fstream>using namespace std;const int maxn=25;char maze[maxn][maxn];int ans,N,M,sx,sy;int dir[4][2]={-1,0,1,0,0,-1,0,1};void dfs(int x,int y){for(int i=0;i<4;i++){int nx=x+dir[i][0],ny=y+dir[i][1];if(nx<0 || nx>=N || ny<0|| ny>=M)continue;if(maze[nx][ny]=='#' || maze[nx][ny]=='@') continue;ans++;maze[nx][ny]='#';dfs(nx,ny);}}int main(){//ifstream fin;//fin.open("input.txt");while(cin>>M>>N){if(N+M==0)break;for(int i=0;i<N;i++)for(int j=0;j<M;j++){cin>>maze[i][j];if(maze[i][j]=='@'){sx=i;sy=j;}}ans=0;dfs(sx,sy);cout<<ans+1<<endl;}return 0;}

热点排行