棋子(国王,皇后,新人,主教和骑士)和棋子在板上,但不在a1或h8广场上。您的任务是从空的a1到空的h8正方形,仅通过空正方形。行动规则如下:
- 您可以从任何空白方块继续到其旁边的空白方块(相同等级,下一个或上一个文件;或相同文件,下一个或上一个文件)。
- 您可以从任何一个空方块到对角线旁边的任何一个空方块(下一个或上一个等级,下一个或上一个文件),条件是每斤角方块包含(a)两个棋子或(b)相反的棋子/棋子颜色。(两个颜色相同的非典当棋子,或一个非典当棋子与典当棋子的强度足以阻止您过弯,但两个典当棋子都不行;相反颜色的棋子/棋子在例如,如果您在c4上并且d5为空,则可以继续进行下去,前提是c5和d4包含典当或包含相反颜色的棋子/棋子。有关图片,请参见下面的“对角线示例”部分。
输入值
FEN的板说明。即:输入将是一个字符串,其中包含等级8的描述,斜杠(/
),等级7的描述,斜杠…和等级1的描述。每个等级的描述都包含数字和字母,从文件a到文件h,其中字母表示棋子和棋子(黑色的棋子是p
= pawn,n
= knight,b
= bishop,r
= rook,q
= queen,k
= king和白色1是相同的大写形式),数字表示连续的空方块数。例如,rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBN
移动一层后的木板(国王的棋子到e4)在国际象棋游戏中。
输入中a1和h8为空;即,第一个斜杠前面有一个数字,最后一个斜杠后面有一个数字。
输出量
真假,表明是否有可能成功传递到h8。
如果输入不是有效的FEN板描述(即与我上面的解释相符的描述),或者如果a1或h8被占用,则输出可以是任何东西或什么都不是。(换句话说:您可以假设输入满足以上要求。)
计分
这就是代码高尔夫:最少的字节数获胜。
输入和输出示例
请注意,您的代码必须适用于所有有效输入,而不仅仅是示例。
w
在每个FEN之后添加一个空格和一个以使其可视化http://www.dhtmlgoodies.com/scripts/chess-fen/chess-fen-3.html
。(请注意,其他一些在线FEN可视化工具不允许使用棋类中非法的棋盘,例如,棋子的等级为1或8,因此不能用于我们的目的。)
真实的例子
8/8/8/8/8/8/8/8
—空板1p1Q4/2p1Q3/2p1Q3/2p1Q3/2p1Q3/2p1Q3/Q1p1Q3/1q3q2
—有一条路径a1,b2,b3,b4,b5,b6,b7,c8,d7,(不是 e8,但被遮挡了)d6,d5,d4, d3,d2,d1,e1,f2,f3,f4,f5,f6,f7,f8,g8,h88/8/KKKKK3/K3K3/K1K1p3/Kp1K4/K1KK4/2KK4
—一个示例,其中稍后必须通过在某个点被遮挡的正方形(以确保您不会将正方形设置为不可通过)K1k1K1K1/1K1k1K1k/K1K1k1K1/1k1K1K1k/K1k1K1k1/1K1k1k1K/K1K1k1K1/1k1k1K1k
—只有一条路可以走(只要顺着鼻子走:每一步只有一个正方形,除非向后走一步);这也是一个正方形在某个点被阻塞但稍后需要的示例
虚假的例子
6Q1/5N2/4Q3/3N4/2Q5/1N6/2Q5/1N6
—任何尝试在路径上的操作都必须穿过两个对角线放置的相同颜色的片段N1q1K1P1/1R1b1p1n/r1B1B1Q1/1p1Q1p1b/B1P1R1N1/1B1P1Q1R/k1k1K1q1/1K1R1P1r
-穿过a8-h1对角线的唯一方法是在f2-g3处,但这将需要穿过e1-d2或f2-e3,这都是不可能的。4Q3/4q3/4Q3/5Q2/6Q1/3QqP2/2Q5/1Q6
4q3/4Q3/4q3/5q2/6q1/3qQp2/2q5/1q6
对角线示例
如果上面的散文不清楚,这里有一些图片。
可通过对角线
不可逾越的对角线