拼多多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('}')