一个有趣的编程题目
在一个n*m的方格通路中,去掉若干个点,如下图。其中加0的点表去掉的点。在图中,任给两点P,Q,找出一条从P到Q转弯最少的路径(路径中的每一步只能沿水平或垂直方向行进,去掉的点不能通过)。 输入格式:
输入的第一行为n与m(均不大于100),第二行有四个整数Px,Py,Qx,Qy分别表示P、Q点的坐标,第三行开始每行有两个整数x,y,表示一个去掉的点的坐标(P、Q点一定不是去掉的点,-1表示结束,图中最左上角的B1坐标为(0,0),向下为x方向,向右为y方向。
输出格式:
输出有若干行,第一行为转弯数,第二行开始顺序输出所求的转弯最少的路径中的每一个拐点的坐标,每行表示一个点。
样例输入:(road.in)
5 8
1 1 3 7
4 3
1 4
3 5
3 7
-1 -1
样例输出:(road.out)
2
2 1
2 7