提示:这篇文章的主题是code-golf(即写出尽可能短的代码),使用的语言是python 2。这篇文章含有cf April Fool contest 2018的剧透。
(除草。。还没更完,看心情更。。
B. A Map of the Catpython3好像不用flush,所以用了python3。第一发107B,只排到了第四
i=0;exec("print(i);i+=1;x=input()\nif x!='no':print('grumpy'if x[-2:]in'lenuseay'else'normal');quit()\n"*7)好像换了个写法之后少了3B,但还是第四>_>
i=0;while 1:
print(i);i+=1;x=input()[-2:]
if x!='no':print(['normal','grumpy'][x in'lenuseay']);break 发现了一个全新的写法: [print(i)or input()==xxx for i in range(6)] ,只有87B了。。怎么还是第四?前何怪? print(['normal','grumpy'][any([print(i)or input()[-2:]in'lenuseay'for i in range(6)])])
接着又砍了两个字节( lenuseay 中的 ay )。。
print(['normal','grumpy'][any([print(i)or input()[-2:]in'lenuse'for i in range(6)])])发现排到第三了。。就把第四打开看了一下。。
卧槽他怎么只询问了9啊。。?!
好像是因为数据中9回答no的都是normal。。
行吧行吧。。
print(9);print(['normal','grumpy'][input()[-2:]in'lenuseay'])轻松第一啊?
C. Ravioli Sort显然判断初始数列中相邻数的差是不是不超过$1$即可
n=input();l=map(int,raw_input().split());print["YES","NO"][any([1 for i in range(n-1)if abs(l[i]-l[i+1])>1])]110B居然能拿python第一,全cf第二?(注:提交的版本是110B,上面版本是109B
学了 zip ,但是 max 不接受空列表,所以下面的代码在$n=1$时gg了
input();l=map(int,raw_input().split());print["YES","NO"][max([abs(x-y)for x,y in zip(l[1:],l[:-1])])>1]但不需要$n$还是可以省一个字节
input();l=map(int,raw_input().split());print["YES","NO"][any([1 for x,y in zip(l[1:],l[:-1])if abs(x-y)>1])]好像 zip 不需要两个list的长度相同
input();l=map(int,raw_input().split());print["YES","NO"][any([1 for x,y in zip(l,l[1:])if abs(x-y)>1])]好像可以把 abs(x-y)<=1 改写成 x-2<y<x+2 ,然后用 all 来缩代码。。?不超过100B了呢
input();l=map(int,raw_input().split());print["NO","YES"][all([x-2<y<x+2 for x,y in zip(l,l[1:])])]98B还是第二。。第一的Ruby只要85B,缩不动了。。(Python读入就很操蛋吧
E. Cheese Board答案是所有蛋糕能soft/hard相间地放在$n\times n$棋盘上的最小$n$。。(先坑着
F. 2 + 2 != 4看了题解。。是把每个数(第一个除外)前面的符号也算进去,然后根据ASCII码, + 算$-5$, - 算$-3$。比如说+233就是加上$(-5)\cdot 10^3+2\cdot 10^2+3\cdot 10+3$。。
先坑着。。
G. Puzzling Language坑着