poj1979(类似迷宫)

原创 2012年03月29日 22:28:03

                题目链接:http://poj.org/problem?id=1979

          题目意思:有这么一个房间,二维数组表示,其中‘.’代表瓷砖,‘*’代表障碍物,一个人从其中某一点出发,他能走过(不能穿越障碍物)房间里的多少块瓷砖。‘@’,代表起点。

                  类似迷宫类问题,用BFS进行深度搜索就好了。

代码:

#include<stdio.h>
int dir[4][2]={{-1,0},{0,1},{1,0},{0,-1}};
char map[21][21];
int N,M,num;
void dfs(int x,int y)
{
	int i;
	for(i=0;i<4;i++)
	{
		if(x+dir[i][0]>=0&&x+dir[i][0]<M&&y+dir[i][1]>=0&&y+dir[i][1]<N)
		{
		  if(map[x+dir[i][0]][y+dir[i][1]]=='.')
			{
              map[x+dir[i][0]][y+dir[i][1]]='#';
		      num++;
		      dfs(x+dir[i][0],y+dir[i][1]);
			}
		}
		else continue;
	}
}
void main()
{
   while((scanf("%d%d",&N,&M)!=EOF)&&(N!=0&&M!=0))
   {
	   int i,j;
	   for(i=0;i<M;i++)
		   scanf("%s",map[i]);
	   for(i=0;i<M;i++)
		   for(j=0;j<N;j++)
		   {
			   if(map[i][j]=='@')
			   { num=1;
			     dfs(i,j);
			   }
		   }
        printf("%d\n",num);  
   }
}


 

 

相关文章推荐

poj 3984迷宫问题(bfs求最短路径 类似并查集保存上个节点 保存最短路径)

迷宫问题 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 16343   Accepted...

POJ-1979(搜索水题)

题目链接-POJ1979   Red and Black Time Limit: 1000MS   Memory Limit: 30000K Tota...

【poj1979】Red and Black

题意:从’@‘开始找上下左右相邻的’.’的个数。#include const int N = 22; char c[N][N]; int m,n,ans; int px[4]= {1,-1,0,0};...

POJ 1979 Red and Black

原题链接:http://poj.org/problem?id=1979 题目: B - Red and Black Time Limit:1000MS     Memory Limit:30...

poj 1979 Red and Black

//这题属于简单的搜索题,可以分别用bfs和dfs来做! #include #include #include #include using namespace std; const i...
  • yzl_rex
  • yzl_rex
  • 2012年08月26日 10:55
  • 468

POJ1979 HDU1312 Red and Black【DFS】

Red and Black Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 38045   ...

POJ 1979 基础搜索 DFS\BFS 一

遥想各位大佬都在努力刷题学习,明明可以靠天赋,依然这么努力的拼搏。   实在忍不住做起Vjudge,进一步发现自己的愚蠢.....     首先来了一道手速题,POJ 1979    : htt...

POJ 1979 Red and Black (DFS)

Red and Black http://poj.org/problem?id=1979 Time Limit: 1000MS Memory Limit: 30000K ...

Red and Black POJ - 1979

题意是说 从@出发,最远可以走多少步,通过DFS遍历这个矩阵即可,注意这个DFS不同于一般的DFS有一个终止条件,通过终止条件退出递归,而是通过设立visit数组为true,最终确保遍历完所有可以抵达...

poj 1979 Red and Black -- dfs

Red and Black Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 29614   ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:poj1979(类似迷宫)
举报原因:
原因补充:

(最多只允许输入30个字)