✎
编程开发网
首页
C语言
C++
面试
Linux
函数
Windows
数据库
下载
搜索
当前位置:
首页
->
AI编程基础
->
c++编程基础
hdu4308之BFS (二)
2014-11-23 20:10:35
·
作者:
·
浏览:
15
标签:
hdu4308
BFS
de
#include
#include
#include
#include
#include
#include
#define INF 99999999 using namespace std; const int MAX=5000+10; string Map[MAX]; int n,m,v,size,s[MAX][2];//s记录p的位置 int dir[4][2]={0,1,0,-1,1,0,-1,0}; bool mark[MAX]; struct Node{ int x,y,t; Node(){} Node(int X,int Y,int T):x(X),y(Y),t(T){} }start; void CalculateP(){ size=0; for(int i=0;i
q; Node oq,next; q.push(start); mark[start.x*m+start.y]=true; while(!q.empty()){ oq=q.front(); q.pop(); for(int i=0;i<4;++i){ next=Node(oq.x+dir[i][0],oq.y+dir[i][1],oq.t);; if(next.x<0 || next.y<0 || next.x>
=n || next.y>=m)continue; if(mark[next.x*m+next.y] || Map[next.x][next.y] == '#')continue; mark[next.x*m+next.y]=true; if(Map[next.x][next.y] == 'C')return next.t; if(Map[next.x][next.y] == 'P'){ int len=q.size(); for(int j=0;j
>n>>m>>v){ for(int i=0;i
>Map[i]; CalculateP(); int temp=BFS(); if(temp<0)cout<<"Damn teoy!"<
首页
上一页
1
2
下一页
尾页
2
/2/2