拼多多9.1笔试题第二道表述有问题
我做拼多多9.1的笔试题第二题时,在自己的IDE上case全过了,但是提交后显示通过0个case。考试结束后,我在牛客网上看别人分享的答案,才知道题目说的每个策略之后加上空格,是指在‘}’后加的,而不是加在策略(d,l,r 组成的序列)后边,但是这样明显跟题意不对。题目说每一局游戏结果的输出,先打印‘{’,最后打印‘}’,这表明‘}’之后不应该有输出了,答案为什么要在‘}’加上空格呢?
import sys
if __name__ == "__main__":
s = int(sys.stdin.readline().strip())
if s==0:
print('{')
print('}')
for _ in range(s):
girl=sys.stdin.readline().strip()
boy=sys.stdin.readline().strip()
res=[]
def helper(girl,girl_new,way):
if len(girl_new)>len(boy):
return
if ''.join(girl_new)==boy:
res.append(way)
return
if len(girl)>0:
helper(girl[1:],girl_new,way+['d'])
helper(girl[1:],[girl[0]]+girl_new,way+['l'])
helper(girl[1:], girl_new+[girl[0]], way+['r'])
helper(girl,[],[])
print('{')
if res:
res=sorted(res)
for r in res:
print(' '.join(r)+' ')
print('}')

