Advertisement
boris-vlasenko

6_test

Jun 17th, 2019
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.69 KB | None | 0 0
  1. class Item():
  2.     def __init__(self,value,commands):
  3.         self.value = value
  4.         self.commands = commands
  5.    
  6.     def __repr__(self):
  7.         return str(self.value)
  8.  
  9.     def __str__(self):
  10.         return str(self.value)
  11.    
  12.  
  13. q = set()
  14. start = Item(11,'')
  15. q.add(start)
  16.  
  17. target = 13
  18. k = 0
  19.  
  20. res = None
  21. while res is None:
  22.     new_q = set()
  23.     while q:
  24.         x = q.pop()
  25.         item = Item(x.value-2,x.commands+' -2')
  26.         new_q.add(item)
  27.         if item.value == target:
  28.             res = item
  29.             break
  30.            
  31.         item = Item(x.value*3,x.commands+' *3')
  32.         new_q.add(item)
  33.         if item.value == target:
  34.             res = item
  35.             break
  36.     k += 1
  37.     q = new_q
  38. print(q)
  39. print('the end..')
  40. print(k)
  41. print(res.value)
  42. print('\n'.join(res.commands.split()))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement