fork download
  1. def solve_generous(total_lambs) :
  2. if total_lambs <= 2 :
  3. return total_lambs
  4. if total_lambs == 3 :
  5. return 2
  6.  
  7. ret = 2
  8. a = 1
  9. b = 2
  10. total_lambs -= 3
  11. while(1 == 1) :
  12. mn = a + b
  13. mx = b + b
  14. if mn <= total_lambs :
  15. a = b
  16. b = min(mx, total_lambs)
  17. total_lambs -= b
  18. ret += 1
  19. else :
  20. break
  21. return ret
  22.  
  23.  
  24. def solve_stingy(total_lambs) :
  25. if total_lambs <= 2 :
  26. return total_lambs
  27. ret = 2
  28. a = b = 1
  29. total_lambs -= 2
  30. while(1 == 1) :
  31. mn = a + b
  32. mx = b + b
  33. if mn <= total_lambs :
  34. a = b
  35. b = mn
  36. total_lambs -= b
  37. ret += 1
  38. else :
  39. break
  40. return ret
  41.  
  42. def solution(total_lambs):
  43. ans = solve_stingy(total_lambs) - solve_generous(total_lambs)
  44. if ans < 0 :
  45. ans *= -1
  46. return ans
  47.  
  48. print(solution(3))
Success #stdin #stdout 0.01s 7240KB
stdin
Standard input is empty
stdout
0