hdu 2579 Dating with girls(2)
来源:互联网 发布:esp8266单片机程序 编辑:程序博客网 时间:2024/05/01 08:50
广搜,,
hash[x][y][step%k]记录x,y位置step%k这种情况走过没有
#include<stdio.h>#include<queue>#include<string.h>using namespace std;char map[110][110];int n,m,k,hash[110][110][11];int sx,sy,ex,ey;int dir[4][2]={0,1,1,0,0,-1,-1,0};struct op{int x,y,step;}cur,next;int judge(int x,int y){if(x>=0&&x<n&&y>=0&&y<m)return 1;return 0;}int bfs(){int i,j,x,y,step;queue<op>Q;cur.step=0;cur.x=sx;cur.y=sy;Q.push(cur);while(!Q.empty()){cur=Q.front();Q.pop();if(cur.x==ex&&cur.y==ey)return cur.step;for(i=0;i<4;i++){x=cur.x+dir[i][0];y=cur.y+dir[i][1];step=cur.step+1;if(judge(x,y)&&hash[x][y][step%k]==0){next.x=x;next.y=y;next.step=step;if((map[next.x][next.y]=='#'&&next.step%k==0)||map[x][y]=='.'||map[x][y]=='G'||map[x][y]=='Y')Q.push(next);hash[x][y][next.step%k]=1;}}}return -1;}int main(){int i,j,t;scanf("%d",&t);while(t--){memset(hash,0,sizeof(hash));scanf("%d%d%d",&n,&m,&k);for(i=0;i<n;i++)scanf("%s",map[i]);for(i=0;i<n;i++)for(j=0;j<m;j++){if(map[i][j]=='Y'){sx=i;sy=j;}if(map[i][j]=='G'){ex=i;ey=j;}}j=bfs();if(j==-1)puts("Please give me another chance!");else printf("%d\n",j);}return 0;}
- HDU 2579 Dating with girls(2) BFS
- HDU 2579 Dating with girls(2)
- hdu 2579 Dating with girls(2)
- HDU 2579 Dating with girls(2)
- hdu(2579) Dating with girls(2)
- HDU 2579 Dating with girls(2)
- HDU 2579 Dating with girls(2)(BFS)
- HDU 2579 - Dating with girls(2)
- HDU 2579 Dating with girls(2)
- hdu 2579 Dating with girls(2)
- HDU 2579 Dating with girls(2) (BFS)
- HDU 2579 Dating with girls(2)
- hdu 2579 Dating with girls(2)【bfs】
- hdu 2579 Dating with girls(2)
- HDU 2579/BFS/ Dating with girls(2)
- HDU 2579 Dating with girls(2)
- Dating with girls(2) HDU
- hdu 2579 Dating with girls(2)(BFS)
- linux里面Terminal输入adb之后bash:***adb: No such file or directory
- 明天就考C语言
- 汇编中Enter和Leave指令
- HDU 2527 Safe Or Unsafe 哈夫曼树
- eCos内核API与内核实现的衔接
- hdu 2579 Dating with girls(2)
- vim 学习总结
- Read from socket failed: Connection reset by peer
- eCos的HAL接口采用宏定义形式的优势
- 输入输出遗漏补缺
- 数据库设计
- eCos中的externC和__THROW
- 深入C++的new
- 矩阵和图像操作(1)