HDU 1242 Rescue(dfs)






http://acm.hdu.edu.cn/showproblem.php?pid=1242





题意:  天使被困在城堡里    她的朋友要去救她  路上可能会碰到守卫  碰到守卫杀掉守卫消耗1个时间  只能上下左右走  每走一步消耗时间1  求最短时间



"." 表示道路;

“x”表示守卫;

“a”表示天使;

“r”表示朋友;

“#”表示墙;



朋友可能会有多个  所以从天使出发  找到离她最近的朋友即可


代码如下:

#include 
#include  
char map[205][205];
int vis[205][205];
int dir[4][2]={{0,1},{1,0},{0,-1},{-1,0}};
int x,y;
int n,m;
int min;

int judge(int x,int y){
	if (x<0||x>=n||y<0||y>=m||map[x][y]=='#')
		return 0;
	return 1;
} 

void dfs(int i,int j,int step){
	if(map[i][j]=='r'){
		if(step



你可能感兴趣的:(dfs)