fork download
  1. def subSeqRec(str_, n, index = -1, curr = "", diff=0, dict_={}, j=0):
  2. if j==1:
  3. return
  4. if index == n:
  5. j+=1
  6. return dict_
  7.  
  8. if diff not in dict_:
  9. dict_[diff] = []
  10.  
  11. dict_[diff] += [curr]
  12.  
  13. for i in range(index+1, n):
  14. curr += str_[i]
  15. subSeqRec(str_, n, i, curr, i-j, dict_, j)
  16.  
  17. curr = curr[:-1]
  18. return dict_
  19.  
  20. def subSeq(str_):
  21. return subSeqRec(str_, len(str_), curr = str_[0])
  22.  
  23. str_ = input()
  24. max_dict = subSeq(str_)
  25. print(max_dict)
Success #stdin #stdout 0.02s 9216KB
stdin
aaabb
stdout
{0: ['a', 'aa'], 1: ['aaa', 'aa'], 2: ['aaaa', 'aaa', 'aaa', 'aa'], 3: ['aaaab', 'aaab', 'aaab', 'aab', 'aaab', 'aab', 'aab', 'ab'], 4: ['aaaabb', 'aaaab', 'aaabb', 'aaab', 'aaabb', 'aaab', 'aabb', 'aab', 'aaabb', 'aaab', 'aabb', 'aab', 'aabb', 'aab', 'abb', 'ab']}