码迷,mamicode.com
首页 > 其他好文 > 详细

poj 3984 迷宫问题

时间:2014-08-16 01:00:09      阅读:284      评论:0      收藏:0      [点我收藏+]

标签:blog   os   io   for   问题   div   amp   log   

今天太乏了= =

这么乱的风格也只有我写的出来吧

 

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<iostream>
#include<algorithm>
#include<queue>
#include<stack>
#define mem(a,b) memset(a,b,sizeof(a))
#define ll __int64
#define MAXN 1000
#define INF 0x7ffffff
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
using namespace std;
struct M{
  int x,y;
  int fax,fay,flag;
};
struct Road
{
    int x,y;
};
int dir[4][2]={{1,0},{-1,0},{0,1},{0,-1}};
M map[10][10];
Road r[50];
void bfs()
{
   int i,j;
   M now,next;
   queue<M> q;
   map[1][1].flag=1;
   q.push(map[1][1]);
   while(!q.empty())
    {
        now=q.front();
        q.pop();
        if(now.x==5&&now.y==5)
        {
            int cnt=0;
            int fx=now.x,fy=now.y;
           while(1)
           {
               
               if(fx==0&&fy==0) break;
               r[cnt].x=map[fx][fy].x;
               r[cnt].y=map[fx][fy].y;
               cnt++;
               int tx=fx,ty=fy;
               fx=map[tx][ty].fax;
               fy=map[tx][ty].fay;
           }
           for(int i=cnt-1;i>=0;i--)
           {
               printf("(%d, %d)\n",r[i].x-1,r[i].y-1);
           }

           return ;
        }
        for(i=0;i<4;i++)
        {
            int x=now.x+dir[i][0];
            int y=now.y+dir[i][1];

            if(map[x][y].flag==0)
            {
                next.x=x;
                next.y=y;
               
                map[x][y].fax=now.x;
                map[x][y].fay=now.y;
                map[x][y].flag=1;
                q.push(next);
            }
        }
    }
}
int main()
{
    mem(map,-1);
    int i,j;
    for(i=1;i<=5;i++)
    {
        for(j=1;j<=5;j++)
        {
            scanf("%d",&map[i][j].flag);
            map[i][j].x=i;
            map[i][j].y=j;
        }
    }
    map[1][1].fax=0;
    map[1][1].fay=0;
    
    bfs();
    return 0;
}

  

poj 3984 迷宫问题,布布扣,bubuko.com

poj 3984 迷宫问题

标签:blog   os   io   for   问题   div   amp   log   

原文地址:http://www.cnblogs.com/sola1994/p/3915917.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!