问题 3448 --象棋中的炮

3448: 象棋中的炮★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 126  解决: 43
[提交][状态][命题人:]

题目描述

如上图所示,中国象棋中的炮,要想吃对方的子,必须要有炮架。

比如左上方的黑炮(C行2列,简称为C2),向右走一步到达C3,

再把D3的卒作为炮架,可以吃掉对方G3的红兵。

此外,炮是走直线的,可纵线走,也可横线走,

只要直线中间没棋子拦住,走的格数不限。

比如C2的黑炮可以走到G2位置,

但不能走到I2位置,因为中间有H2的红炮拦住了路。

现在假设C2的黑炮为P,我们给P一个特权,

他第一步可以不受约束的走到棋盘上没有棋子的任何位置(x,y)

然后P就要按规则可以走也可以通过炮架吃对方的棋子,

其他棋子都保持不动。

P落脚过的位置,不能再次落脚(比如,P走C2走到C1,那么C1位置今后不能再走)。

请问P从所在位置C2,至少要走多少步可以吃到对方的帅。

输入

一个字符x和一个整数y,表示P第一步走到的位置,x表示行,y表示列,中间没有空格

输出

P吃到对方的帅,至少要走的步数
样例输入
Copy
E5
样例输出
Copy
2

提示

样例说明:

P从C2直接跳过E5

P从E5通过G5的红兵作为炮架直接吃掉帅

故一共走了两步

来源

[提交][状态]