首页 > 代码库 > 迷宫bfs
迷宫bfs
#include<stdio.h> int map[5][5]={0,1,0,0,0, 0,1,0,1,0, 0,0,0,0,0, 0,1,1,1,0, 0,0,0,1,0}; int mx[4]={0,0,1,-1}; int my[4]={1,-1,0,0}; int q; typedef struct node { int x; int y; int step; int pre; }node; node dui[100]; int tou=0; int wei=1; void bfs() { int nx; int ny; dui[tou].x=0; dui[tou].y=0; dui[tou].step=1; dui[tou].pre =-1; while(tou<wei) { if(dui[tou].x ==4&&dui[tou].y==4) { q=tou; printf("%d\n",dui[tou].step); break; } for(int i=0;i<4;i++) { nx=dui[tou].x +mx[i]; ny=dui[tou].y +my[i]; if(nx>=0&&nx<5&&ny>=0&&ny<5&&map[nx][ny]==0) { dui[wei].x =nx; dui[wei].y =ny; dui[wei].step =dui[tou].step +1; map[nx][ny]=1; dui[wei].pre =tou; wei++; } } tou++; } } void prin(int i) { if(i==-1) return; prin(dui[i].pre ); printf("(%d,%d)\n",dui[i].x ,dui[i].y ); } int main() { bfs(); prin(q); return 0; }
迷宫bfs
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。