今天的挑战是要像这样输入信息:
fbcfbee
ffcabbe
debceec
bccabbe
edcfbcd
daeaafc
eebcbeb
并在类似“宝石迷阵”的游戏中输出可能的最佳动作,该动作将匹配三个或更多字母,如下所示(请注意大写字母B
和C
):
fbcfbee
ffcabbe
deBCeec
bccabbe
edcfbcd
daeaafc
eebcbeb
完整规格:
- 输入将是每
n
行n
小写字母(n
可以是任何数字)。 - 输出将是您在三消游戏中可以采取的最佳举措,其中两个您想交换的字母都大写。
匹配项应具有以下优先级(在这些示例中,
.
表示无关紧要的正方形):一排五
xxYxx ..X..
断五行
X.. Yxx x.. x..
要么
.X. xYx .x. .x.
四排
xYxx .X..
三排
xYx .X.
您必须找到最高优先级的匹配并输出。
- 如果存在多个具有相同优先级的匹配项,则可以输出其中任何一个。
- 总会有至少一场比赛(如果没有比赛,或者您想做任何事情,您的程序可能会中断)。
- I / O可以采用任何合理的格式(stdin / out,读写文件,函数自变量/返回值,对话框等),但不可以进行硬编码(如
x="[insert input here]"
)。 - 这是代码高尔夫球,因此以字节为单位的最短代码获胜。如果您出于某种原因使用任何网络访问,则从网络下载的所有字节都将计入您的分数。
1
+1,但我抗议标题;可能会有更好的举动。例如,一个创造两个5,一个创造一个下降以创造更多东西的一个。
—
贾斯汀
破五行也能掩盖
—
彼得·泰勒
..x.\nxxYX\n..x.
吗?
@Peter是的,确实如此。
—
门把手
连续模式中有2个折断的5个:L模式和T模式。您是否要求两者都匹配?
—
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳ 2014年
@nhahtdh是的,我将进行编辑以澄清这一点。
—
门把手