求一种最快、容易理解的算法
待会可以再捞一遍
xm 在小的时候,他的妈妈给他买了一个益智玩具。后来在整理房间的时候,他又看到了这一个玩具。
它由 n 行 m 列的格子组成,每一个格子的图案都是不一样的,且每一格正、反面有相同的图案,可以用第 y 行第 x 列表示,后文简化为 (y,x) 。
这一个玩具可以沿着行或列之间的线来折叠。首先规定好了两个坐标 (y1,x1) 和 (y2,x2) ,接着要经过尽量少且正确规范的步骤来折叠,使最后这个玩具折成一个 1×1 的小方格,它有一面的图案是坐标 (y1,x1) 的图案,另一面是坐标 (y2,x2) 的图案。
xm 对这个玩具产生了兴趣,想知道如果由 n 行 m 列的格子组成的玩具,规定了 (y1,x1) 和 (y2,x2) 这两个坐标,那么要经过的正确规范的步骤 t 最小是几,于是这个蒟蒻就找到了你。
第一行输入 2 个数 n,m ,用空格隔开。
第二行输入 2 个数 y1,x1 ,用空格隔开。
第三行输入 2 个数 y2,x2 ,用空格隔开。
输出一个数 t ,如果无论如何无法符合要求,输出 -1
。
1.in:
2 2
1 2
2 1
1.out:
-1
2.in:
2 2
1 1
1 2
2.out:
2
3.in:
4 4
2 1
4 2
3.out:
5
良心数据范围:
1≤y≤n≤3×104,1≤x≤m≤3×104
蒟蒻求问,这道题看起来还是比较简单的,但是就是不会,希望有dalao来回答