http://acm.pku.edu.cn/JudgeOnline/problem?id=1657
Problem: 1657
Memory: 288K  Time: 0MS
Language: C++  Result: Accepted

x = abs(s[0] - e[0])
y = abs(s[1] - e[1])

王:横、直、斜都可以走,但每步限走一格。
其步数为:max(x, y)

后:横、直、斜都可以走,每步格数不受限制。
其步数为:
 <1>可以直走或斜走到达(x == y || x == 0 || y == 0) 1
 <2> 2

车:横、竖均可以走,不能斜走,格数不限。
其步数为
 <1>可以直走到达(x == 0 || y == 0) 1
 <2> 2

象:只能斜走,格数不限。
其步数为:
 <1>斜走无法到达(abs(x - y) 为奇数) Inf
 <2>一步斜走可以到达(x == y) 1
 <3> 2

还有一种特殊情况:起点与终点相同