第一题坑了,调了将近一个小时,结果是题目没有spj,没来的及测第二题 结束之后写的第二题, O(n),我这边本地测试了几个数据好像没错,欢迎指正 [n,m,k]=map(int, raw_input().split()) def combine(n,m,k): if n==0: return 'z'*m if m==0: return 'a'*n if k > (max(m, n) + 1) * min(m, n): return '' if m==1: return 'a'*(n-k+1)+'z'+'a'*(k-1) if n==1: return 'z'*(k-1)+'a'+'z'*(m-k+1) asum= (max(m-1, n) + 1) * min(m-1, n) if k<=asum:# the first is a return 'a'+combine(n-1,m,k) else: return 'z'+combine(n,m-1,k-asum) if k > (max(m,n)+1)*min(m,n): print -1else: print combine(n,m,k)
点赞 评论

相关推荐

牛客网
牛客企业服务