挑战
不允许
。
如何操作
您的程序通过标准输入接收下面的级别(没有换行)。
然后,它必须打印出成功完成该级别所需的命令。
水平
所有的层次都有4条线高,每条线的63字符宽。这使得每个级别总共有252个字符。
> ______ ____ ________ ___ <
> C ______| | | | C __| | | | ____E<
>S______ __ ____| | | |_____| |__| |___| <
> xx xx xx <注释: ><只是为了说明边框,它们是而不是程序输入中包含的。也要小心你的文本编辑器,因为我的很多次都把空格搞砸了。
命令
解决方案(用硬币块)
连续的命令互相堆叠在一起。
F表示您将坠落的位置(请记住,您在坠落时不能做任何事情),
MMMF MMMF
M MMMMMMJ MMMMF M MMMMMMMMJ MMMF
M J MMMFMMMF MMMMMMJ| | | |F J MMJ| | | |F MMMMME
SMMMJMJ MJ MMMJ| | | |MMJMJ| |__| |MMJ|
xx xx xx 生成的命令序列,75个字符长:
MMMMJJMMJMMMMJMMMMMMJMMMMMMJMMMMMMJMMMMMMMMMJJMMJMMJMMMMMMMMJMMMMMMMMJMMMMM希望这能带来一些有趣的结果..。而不是成吨的火焰
编辑
好吧,有比我最初想象的更多的可能性,我为所有的编辑道歉。
发布于 2010-07-04 22:49:52
C- 275字节(DOS行尾)
#define A(B,C)!memcmp(p+1,B,C)
#define P printf
char*p,l[318],k=63;f(){P("M");++p;while(*p<33)p+=k;}main(){read(0,l+k,4*k);p=strchr(l+k,83);while(*p!=69)p[-k]==67?(P("JJM"),++p):(p[1-k]>94?(P("JM"),p+=1-k):(A(" _",3)?(P("JMMM"),p+=3):(A(" _",2)?(P("JMMO"),p+=2):f())));}这满足了一个字符的差距,和情况下,球员是走在最顶端的水平。如果你不关心那两个案子,你可以省点钱。
https://stackoverflow.com/questions/3173415
复制相似问题