杰克和简决定在下班前下棋。不幸的是,杰克很不擅长可视化。他发现很难找到除了典当之外的给定部件可能的移动!
您的挑战是帮助杰克找到给定棋子(典当除外)的可能选项。
万一忘记了,各个部分用以下符号表示:
- K:国王
- 问:女王
- N:骑士
- B:主教
- R:白嘴鸦
作为一个例子,下面的图像中的奈特位于d4
和能够移动到c2
,b3
,b5
,c6
,e6
,f5
,f3
,e2
。对于给定的输入:
Nd4
您将产生:
Nc2 Nb3 Nb5 Nc6 Ne6 Nf5 Nf3 Ne2
规则:
- 只要列出了所有可能的动作,输出的顺序就无关紧要
- 可能的动作可以用空格,换行符或任何其他定界符分隔
- 输入可以作为参数传递给程序,也可以通过
STDIN
- 程序中的空格应计算在内,因此请充分利用它
这是代码高尔夫。(请避免使用专门为此目的设计的任何工具/实用程序。)答案最短者为准!
f(x)... case "Q": {f("B");f("R")}
如果函数需要任何#include,则这些应该是字节数的一部分。