fork(1) download
  1.  
  2. ca=[]
  3. #each line is a testcase
  4. #counts of 0..9's
  5. ca+=[[1,0,0,0,0,0,0,0,0,0]]
  6. ca+=[[1,50,0,6,0,22,0,0,0,0]]
  7. ca+=[[0,5,2,0,0,0,0,0,0,3]]
  8. ca+=[[2,0,5,0,0,3,0,2,0,1]]
  9. ca+=[[0,1,2,3,4,5,0,0,0,0]]
  10. ca+=[[5,1,3,5,2,4,0,2,0,1]]
  11. ca+=[[2]*10]
  12. ca+=[[5]*10]
  13.  
  14. dbg=0
  15.  
  16. for c in ca:
  17. inp=[]
  18. d=[0]
  19. for ce,i in enumerate(c[0:]):
  20. inp+=[ce]*i
  21. for e in [x for x in inp if x>0]:
  22. for i in range(len(d)-1):
  23. if d[i]<d[i+1]+e:
  24. d[i]+=1
  25. break
  26. else:
  27. d[-1]+=1
  28. d+=[0]
  29. if dbg: print(d) #prints dungeon state
  30. print(c,' => ',d[0])
  31.  
Success #stdin #stdout 0.02s 8736KB
stdin
Standard input is empty
stdout
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0]  =>  0
[1, 50, 0, 6, 0, 22, 0, 0, 0, 0]  =>  22
[0, 5, 2, 0, 0, 0, 0, 0, 0, 3]  =>  7
[2, 0, 5, 0, 0, 3, 0, 2, 0, 1]  =>  9
[0, 1, 2, 3, 4, 5, 0, 0, 0, 0]  =>  10
[5, 1, 3, 5, 2, 4, 0, 2, 0, 1]  =>  13
[2, 2, 2, 2, 2, 2, 2, 2, 2, 2]  =>  13
[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]  =>  24