西北大学选拔赛03 A 会拐弯的眼睛

“那不是咱们的酒店‘风向标’么?”zjt刚出长沙车站,就指着远处的一个楼说。

旅途疲倦的大家瞬间又打起精神,准备赶紧到酒店休息。

然而从车站出来的路途却是九曲十八弯,大家经历了无数的十字路口,绕来绕去,反复探索,

才在一个角落的墙壁上看到了“风向标”三个字。

“你眼睛会拐弯,刚一出车站就能看到?”“就是你观测到了黑洞?”鸡尾酒抱怨连连。

但是鸡尾酒并不是怨妇,他瞬间就出了一道题。

给你一个n*m的地图,左上角记为(0,0)点,右下角记为(n-1,m-1)点。

初始你在(startx,starty)点,想去(endx,endy)点,每一次你只能向上,下,左,右四个方向任选一个移动一步,不能穿越墙壁。

请问你最少拐弯几次能够到达(endx,endy)点,如果无论如何都不能到达,输出-1。

拐弯的定义:本次行动的方向与上次不同,则记为一次拐弯,第一步不算拐弯。

Input

输入第一行六个正整数n,m描述地图大小,startx,starty,endx,engy描述起点,终点。

保证n,m≤5000,0≤startx,endx≤n-1, 0≤starty,endy≤m-1

接下来n行,每行一个长度为m的01串,0代表可以走的空地,1代表不能走的墙壁

Output

输出一行一个整数表示答案

Sample Input 1 

3 3 0 0 2 2
000
110
110

Sample Output 1

1

Sample Input 2 

3 3 0 0 2 2
001
101
100

Sample Output 2

2

改一改二维迷宫移动方式,瞎jb剪枝bfs。

一开始胡写wa了n发(备考期末很久没码代码了QAQ)

百思不得其解后自暴自弃重写一遍ac了……

//代码是不可能有的
//比赛结束再放
//吃瓜
发布了19 篇原创文章 · 获赞 3 · 访问量 1387

猜你喜欢

转载自blog.csdn.net/xuanhuangwendao/article/details/95117801