Noam_15

Hanukkah Riddle - Full Solution

Dec 20th, 2020 (edited)
579
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 14.34 KB | None | 0 0
  1. # A python solution for this
  2. # riddle: https://www.idf.il/%D7%90%D7%AA%D7%A8%D7%99%D7%9D/%D7%96%D7%A8%D7%95%D7%A2-%D7%94%D7%99%D7%91%D7%A9%D7%94/2020/%D7%97%D7%99%D7%93%D7%AA-%D7%9E%D7%A6%D7%95%D7%91-%D7%9E%D7%99%D7%95%D7%97%D7%93%D7%AA-%D7%9C%D7%97%D7%A0%D7%95%D7%9B%D7%94/
  3.  
  4.  
  5. from itertools import product
  6.  
  7. # Numbers: 0...PEOPLE_NUM-1
  8. PEOPLE_NUM = 4 # (100 is too slow)
  9.  
  10. def get_all_possible_numbers(people_num: int):
  11.     return (list(i) for i in product(range(0, people_num), repeat=people_num))
  12.  
  13. def hide_number_in_index(numbers: list, index: int):
  14.     numbers_copy = numbers.copy()
  15.     numbers_copy[index] = None
  16.     return numbers_copy
  17.  
  18. def find_good_guess_index(guesses: list, real_numbers: list):
  19.     for ind, guess in enumerate(guesses):
  20.         if guess == real_numbers[ind]:
  21.             return ind
  22.     return -1
  23.  
  24. def single_guess(my_ind: int, all_people_except_me: list):
  25.     # See "ניחוש סימולטני":
  26.     # https://he.wikipedia.org/wiki/%D7%97%D7%99%D7%93%D7%AA_%D7%94%D7%9B%D7%95%D7%91%D7%A2%D7%99%D7%9D
  27.     sum_numbers_except_mine = sum(i for i in all_people_except_me if i)
  28.     sum_remainder = sum_numbers_except_mine % PEOPLE_NUM
  29.     guess = (my_ind - sum_remainder) % PEOPLE_NUM
  30.     return guess
  31.  
  32. # Start:
  33.  
  34. all_good = True
  35.  
  36. for real_numbers in get_all_possible_numbers(PEOPLE_NUM):
  37.     guesses = [single_guess(ind, hide_number_in_index(real_numbers, ind))
  38.         for ind, num in enumerate(real_numbers)]
  39.  
  40.     good_guess_index = find_good_guess_index(guesses, real_numbers)
  41.     is_good_guess = good_guess_index > -1
  42.  
  43.     if not is_good_guess:
  44.         all_good = False
  45.  
  46.     message = f"GOOD! ({good_guess_index})" if is_good_guess else "*BAD!*"
  47.     print(f'{real_numbers} TO {guesses}   => {message}')
  48.  
  49. print(f"All Good: {all_good}")
  50.  
  51. '''
  52. Output (PEOPLE_NUM = 2):
  53.  
  54. [0, 0] TO [0, 1]   => GOOD! (0)
  55. [0, 1] TO [1, 1]   => GOOD! (1)
  56. [1, 0] TO [0, 0]   => GOOD! (1)
  57. [1, 1] TO [1, 0]   => GOOD! (0)
  58. All Good: True
  59. '''
  60.  
  61. '''
  62. Output (PEOPLE_NUM = 3):
  63.  
  64. [0, 0, 0] TO [0, 1, 2]   => GOOD! (0)
  65. [0, 0, 1] TO [2, 0, 2]   => GOOD! (1)
  66. [0, 0, 2] TO [1, 2, 2]   => GOOD! (2)
  67. [0, 1, 0] TO [2, 1, 1]   => GOOD! (1)
  68. [0, 1, 1] TO [1, 0, 1]   => GOOD! (2)
  69. [0, 1, 2] TO [0, 2, 1]   => GOOD! (0)
  70. [0, 2, 0] TO [1, 1, 0]   => GOOD! (2)
  71. [0, 2, 1] TO [0, 0, 0]   => GOOD! (0)
  72. [0, 2, 2] TO [2, 2, 0]   => GOOD! (1)
  73. [1, 0, 0] TO [0, 0, 1]   => GOOD! (1)
  74. [1, 0, 1] TO [2, 2, 1]   => GOOD! (2)
  75. [1, 0, 2] TO [1, 1, 1]   => GOOD! (0)
  76. [1, 1, 0] TO [2, 0, 0]   => GOOD! (2)
  77. [1, 1, 1] TO [1, 2, 0]   => GOOD! (0)
  78. [1, 1, 2] TO [0, 1, 0]   => GOOD! (1)
  79. [1, 2, 0] TO [1, 0, 2]   => GOOD! (0)
  80. [1, 2, 1] TO [0, 2, 2]   => GOOD! (1)
  81. [1, 2, 2] TO [2, 1, 2]   => GOOD! (2)
  82. [2, 0, 0] TO [0, 2, 0]   => GOOD! (2)
  83. [2, 0, 1] TO [2, 1, 0]   => GOOD! (0)
  84. [2, 0, 2] TO [1, 0, 0]   => GOOD! (1)
  85. [2, 1, 0] TO [2, 2, 2]   => GOOD! (0)
  86. [2, 1, 1] TO [1, 1, 2]   => GOOD! (1)
  87. [2, 1, 2] TO [0, 0, 2]   => GOOD! (2)
  88. [2, 2, 0] TO [1, 2, 1]   => GOOD! (1)
  89. [2, 2, 1] TO [0, 1, 1]   => GOOD! (2)
  90. [2, 2, 2] TO [2, 0, 1]   => GOOD! (0)
  91. All Good: True
  92. '''
  93.  
  94. '''
  95. Output (PEOPLE_NUM = 4):
  96.  
  97. [0, 0, 0, 0] TO [0, 1, 2, 3]   => GOOD! (0)
  98. [0, 0, 0, 1] TO [3, 0, 1, 3]   => GOOD! (1)
  99. [0, 0, 0, 2] TO [2, 3, 0, 3]   => GOOD! (2)
  100. [0, 0, 0, 3] TO [1, 2, 3, 3]   => GOOD! (3)
  101. [0, 0, 1, 0] TO [3, 0, 2, 2]   => GOOD! (1)
  102. [0, 0, 1, 1] TO [2, 3, 1, 2]   => GOOD! (2)
  103. [0, 0, 1, 2] TO [1, 2, 0, 2]   => GOOD! (3)
  104. [0, 0, 1, 3] TO [0, 1, 3, 2]   => GOOD! (0)
  105. [0, 0, 2, 0] TO [2, 3, 2, 1]   => GOOD! (2)
  106. [0, 0, 2, 1] TO [1, 2, 1, 1]   => GOOD! (3)
  107. [0, 0, 2, 2] TO [0, 1, 0, 1]   => GOOD! (0)
  108. [0, 0, 2, 3] TO [3, 0, 3, 1]   => GOOD! (1)
  109. [0, 0, 3, 0] TO [1, 2, 2, 0]   => GOOD! (3)
  110. [0, 0, 3, 1] TO [0, 1, 1, 0]   => GOOD! (0)
  111. [0, 0, 3, 2] TO [3, 0, 0, 0]   => GOOD! (1)
  112. [0, 0, 3, 3] TO [2, 3, 3, 0]   => GOOD! (2)
  113. [0, 1, 0, 0] TO [3, 1, 1, 2]   => GOOD! (1)
  114. [0, 1, 0, 1] TO [2, 0, 0, 2]   => GOOD! (2)
  115. [0, 1, 0, 2] TO [1, 3, 3, 2]   => GOOD! (3)
  116. [0, 1, 0, 3] TO [0, 2, 2, 2]   => GOOD! (0)
  117. [0, 1, 1, 0] TO [2, 0, 1, 1]   => GOOD! (2)
  118. [0, 1, 1, 1] TO [1, 3, 0, 1]   => GOOD! (3)
  119. [0, 1, 1, 2] TO [0, 2, 3, 1]   => GOOD! (0)
  120. [0, 1, 1, 3] TO [3, 1, 2, 1]   => GOOD! (1)
  121. [0, 1, 2, 0] TO [1, 3, 1, 0]   => GOOD! (3)
  122. [0, 1, 2, 1] TO [0, 2, 0, 0]   => GOOD! (0)
  123. [0, 1, 2, 2] TO [3, 1, 3, 0]   => GOOD! (1)
  124. [0, 1, 2, 3] TO [2, 0, 2, 0]   => GOOD! (2)
  125. [0, 1, 3, 0] TO [0, 2, 1, 3]   => GOOD! (0)
  126. [0, 1, 3, 1] TO [3, 1, 0, 3]   => GOOD! (1)
  127. [0, 1, 3, 2] TO [2, 0, 3, 3]   => GOOD! (2)
  128. [0, 1, 3, 3] TO [1, 3, 2, 3]   => GOOD! (3)
  129. [0, 2, 0, 0] TO [2, 1, 0, 1]   => GOOD! (2)
  130. [0, 2, 0, 1] TO [1, 0, 3, 1]   => GOOD! (3)
  131. [0, 2, 0, 2] TO [0, 3, 2, 1]   => GOOD! (0)
  132. [0, 2, 0, 3] TO [3, 2, 1, 1]   => GOOD! (1)
  133. [0, 2, 1, 0] TO [1, 0, 0, 0]   => GOOD! (3)
  134. [0, 2, 1, 1] TO [0, 3, 3, 0]   => GOOD! (0)
  135. [0, 2, 1, 2] TO [3, 2, 2, 0]   => GOOD! (1)
  136. [0, 2, 1, 3] TO [2, 1, 1, 0]   => GOOD! (2)
  137. [0, 2, 2, 0] TO [0, 3, 0, 3]   => GOOD! (0)
  138. [0, 2, 2, 1] TO [3, 2, 3, 3]   => GOOD! (1)
  139. [0, 2, 2, 2] TO [2, 1, 2, 3]   => GOOD! (2)
  140. [0, 2, 2, 3] TO [1, 0, 1, 3]   => GOOD! (3)
  141. [0, 2, 3, 0] TO [3, 2, 0, 2]   => GOOD! (1)
  142. [0, 2, 3, 1] TO [2, 1, 3, 2]   => GOOD! (2)
  143. [0, 2, 3, 2] TO [1, 0, 2, 2]   => GOOD! (3)
  144. [0, 2, 3, 3] TO [0, 3, 1, 2]   => GOOD! (0)
  145. [0, 3, 0, 0] TO [1, 1, 3, 0]   => GOOD! (3)
  146. [0, 3, 0, 1] TO [0, 0, 2, 0]   => GOOD! (0)
  147. [0, 3, 0, 2] TO [3, 3, 1, 0]   => GOOD! (1)
  148. [0, 3, 0, 3] TO [2, 2, 0, 0]   => GOOD! (2)
  149. [0, 3, 1, 0] TO [0, 0, 3, 3]   => GOOD! (0)
  150. [0, 3, 1, 1] TO [3, 3, 2, 3]   => GOOD! (1)
  151. [0, 3, 1, 2] TO [2, 2, 1, 3]   => GOOD! (2)
  152. [0, 3, 1, 3] TO [1, 1, 0, 3]   => GOOD! (3)
  153. [0, 3, 2, 0] TO [3, 3, 3, 2]   => GOOD! (1)
  154. [0, 3, 2, 1] TO [2, 2, 2, 2]   => GOOD! (2)
  155. [0, 3, 2, 2] TO [1, 1, 1, 2]   => GOOD! (3)
  156. [0, 3, 2, 3] TO [0, 0, 0, 2]   => GOOD! (0)
  157. [0, 3, 3, 0] TO [2, 2, 3, 1]   => GOOD! (2)
  158. [0, 3, 3, 1] TO [1, 1, 2, 1]   => GOOD! (3)
  159. [0, 3, 3, 2] TO [0, 0, 1, 1]   => GOOD! (0)
  160. [0, 3, 3, 3] TO [3, 3, 0, 1]   => GOOD! (1)
  161. [1, 0, 0, 0] TO [0, 0, 1, 2]   => GOOD! (1)
  162. [1, 0, 0, 1] TO [3, 3, 0, 2]   => GOOD! (2)
  163. [1, 0, 0, 2] TO [2, 2, 3, 2]   => GOOD! (3)
  164. [1, 0, 0, 3] TO [1, 1, 2, 2]   => GOOD! (0)
  165. [1, 0, 1, 0] TO [3, 3, 1, 1]   => GOOD! (2)
  166. [1, 0, 1, 1] TO [2, 2, 0, 1]   => GOOD! (3)
  167. [1, 0, 1, 2] TO [1, 1, 3, 1]   => GOOD! (0)
  168. [1, 0, 1, 3] TO [0, 0, 2, 1]   => GOOD! (1)
  169. [1, 0, 2, 0] TO [2, 2, 1, 0]   => GOOD! (3)
  170. [1, 0, 2, 1] TO [1, 1, 0, 0]   => GOOD! (0)
  171. [1, 0, 2, 2] TO [0, 0, 3, 0]   => GOOD! (1)
  172. [1, 0, 2, 3] TO [3, 3, 2, 0]   => GOOD! (2)
  173. [1, 0, 3, 0] TO [1, 1, 1, 3]   => GOOD! (0)
  174. [1, 0, 3, 1] TO [0, 0, 0, 3]   => GOOD! (1)
  175. [1, 0, 3, 2] TO [3, 3, 3, 3]   => GOOD! (2)
  176. [1, 0, 3, 3] TO [2, 2, 2, 3]   => GOOD! (3)
  177. [1, 1, 0, 0] TO [3, 0, 0, 1]   => GOOD! (2)
  178. [1, 1, 0, 1] TO [2, 3, 3, 1]   => GOOD! (3)
  179. [1, 1, 0, 2] TO [1, 2, 2, 1]   => GOOD! (0)
  180. [1, 1, 0, 3] TO [0, 1, 1, 1]   => GOOD! (1)
  181. [1, 1, 1, 0] TO [2, 3, 0, 0]   => GOOD! (3)
  182. [1, 1, 1, 1] TO [1, 2, 3, 0]   => GOOD! (0)
  183. [1, 1, 1, 2] TO [0, 1, 2, 0]   => GOOD! (1)
  184. [1, 1, 1, 3] TO [3, 0, 1, 0]   => GOOD! (2)
  185. [1, 1, 2, 0] TO [1, 2, 0, 3]   => GOOD! (0)
  186. [1, 1, 2, 1] TO [0, 1, 3, 3]   => GOOD! (1)
  187. [1, 1, 2, 2] TO [3, 0, 2, 3]   => GOOD! (2)
  188. [1, 1, 2, 3] TO [2, 3, 1, 3]   => GOOD! (3)
  189. [1, 1, 3, 0] TO [0, 1, 0, 2]   => GOOD! (1)
  190. [1, 1, 3, 1] TO [3, 0, 3, 2]   => GOOD! (2)
  191. [1, 1, 3, 2] TO [2, 3, 2, 2]   => GOOD! (3)
  192. [1, 1, 3, 3] TO [1, 2, 1, 2]   => GOOD! (0)
  193. [1, 2, 0, 0] TO [2, 0, 3, 0]   => GOOD! (3)
  194. [1, 2, 0, 1] TO [1, 3, 2, 0]   => GOOD! (0)
  195. [1, 2, 0, 2] TO [0, 2, 1, 0]   => GOOD! (1)
  196. [1, 2, 0, 3] TO [3, 1, 0, 0]   => GOOD! (2)
  197. [1, 2, 1, 0] TO [1, 3, 3, 3]   => GOOD! (0)
  198. [1, 2, 1, 1] TO [0, 2, 2, 3]   => GOOD! (1)
  199. [1, 2, 1, 2] TO [3, 1, 1, 3]   => GOOD! (2)
  200. [1, 2, 1, 3] TO [2, 0, 0, 3]   => GOOD! (3)
  201. [1, 2, 2, 0] TO [0, 2, 3, 2]   => GOOD! (1)
  202. [1, 2, 2, 1] TO [3, 1, 2, 2]   => GOOD! (2)
  203. [1, 2, 2, 2] TO [2, 0, 1, 2]   => GOOD! (3)
  204. [1, 2, 2, 3] TO [1, 3, 0, 2]   => GOOD! (0)
  205. [1, 2, 3, 0] TO [3, 1, 3, 1]   => GOOD! (2)
  206. [1, 2, 3, 1] TO [2, 0, 2, 1]   => GOOD! (3)
  207. [1, 2, 3, 2] TO [1, 3, 1, 1]   => GOOD! (0)
  208. [1, 2, 3, 3] TO [0, 2, 0, 1]   => GOOD! (1)
  209. [1, 3, 0, 0] TO [1, 0, 2, 3]   => GOOD! (0)
  210. [1, 3, 0, 1] TO [0, 3, 1, 3]   => GOOD! (1)
  211. [1, 3, 0, 2] TO [3, 2, 0, 3]   => GOOD! (2)
  212. [1, 3, 0, 3] TO [2, 1, 3, 3]   => GOOD! (3)
  213. [1, 3, 1, 0] TO [0, 3, 2, 2]   => GOOD! (1)
  214. [1, 3, 1, 1] TO [3, 2, 1, 2]   => GOOD! (2)
  215. [1, 3, 1, 2] TO [2, 1, 0, 2]   => GOOD! (3)
  216. [1, 3, 1, 3] TO [1, 0, 3, 2]   => GOOD! (0)
  217. [1, 3, 2, 0] TO [3, 2, 2, 1]   => GOOD! (2)
  218. [1, 3, 2, 1] TO [2, 1, 1, 1]   => GOOD! (3)
  219. [1, 3, 2, 2] TO [1, 0, 0, 1]   => GOOD! (0)
  220. [1, 3, 2, 3] TO [0, 3, 3, 1]   => GOOD! (1)
  221. [1, 3, 3, 0] TO [2, 1, 2, 0]   => GOOD! (3)
  222. [1, 3, 3, 1] TO [1, 0, 1, 0]   => GOOD! (0)
  223. [1, 3, 3, 2] TO [0, 3, 0, 0]   => GOOD! (1)
  224. [1, 3, 3, 3] TO [3, 2, 3, 0]   => GOOD! (2)
  225. [2, 0, 0, 0] TO [0, 3, 0, 1]   => GOOD! (2)
  226. [2, 0, 0, 1] TO [3, 2, 3, 1]   => GOOD! (3)
  227. [2, 0, 0, 2] TO [2, 1, 2, 1]   => GOOD! (0)
  228. [2, 0, 0, 3] TO [1, 0, 1, 1]   => GOOD! (1)
  229. [2, 0, 1, 0] TO [3, 2, 0, 0]   => GOOD! (3)
  230. [2, 0, 1, 1] TO [2, 1, 3, 0]   => GOOD! (0)
  231. [2, 0, 1, 2] TO [1, 0, 2, 0]   => GOOD! (1)
  232. [2, 0, 1, 3] TO [0, 3, 1, 0]   => GOOD! (2)
  233. [2, 0, 2, 0] TO [2, 1, 0, 3]   => GOOD! (0)
  234. [2, 0, 2, 1] TO [1, 0, 3, 3]   => GOOD! (1)
  235. [2, 0, 2, 2] TO [0, 3, 2, 3]   => GOOD! (2)
  236. [2, 0, 2, 3] TO [3, 2, 1, 3]   => GOOD! (3)
  237. [2, 0, 3, 0] TO [1, 0, 0, 2]   => GOOD! (1)
  238. [2, 0, 3, 1] TO [0, 3, 3, 2]   => GOOD! (2)
  239. [2, 0, 3, 2] TO [3, 2, 2, 2]   => GOOD! (3)
  240. [2, 0, 3, 3] TO [2, 1, 1, 2]   => GOOD! (0)
  241. [2, 1, 0, 0] TO [3, 3, 3, 0]   => GOOD! (3)
  242. [2, 1, 0, 1] TO [2, 2, 2, 0]   => GOOD! (0)
  243. [2, 1, 0, 2] TO [1, 1, 1, 0]   => GOOD! (1)
  244. [2, 1, 0, 3] TO [0, 0, 0, 0]   => GOOD! (2)
  245. [2, 1, 1, 0] TO [2, 2, 3, 3]   => GOOD! (0)
  246. [2, 1, 1, 1] TO [1, 1, 2, 3]   => GOOD! (1)
  247. [2, 1, 1, 2] TO [0, 0, 1, 3]   => GOOD! (2)
  248. [2, 1, 1, 3] TO [3, 3, 0, 3]   => GOOD! (3)
  249. [2, 1, 2, 0] TO [1, 1, 3, 2]   => GOOD! (1)
  250. [2, 1, 2, 1] TO [0, 0, 2, 2]   => GOOD! (2)
  251. [2, 1, 2, 2] TO [3, 3, 1, 2]   => GOOD! (3)
  252. [2, 1, 2, 3] TO [2, 2, 0, 2]   => GOOD! (0)
  253. [2, 1, 3, 0] TO [0, 0, 3, 1]   => GOOD! (2)
  254. [2, 1, 3, 1] TO [3, 3, 2, 1]   => GOOD! (3)
  255. [2, 1, 3, 2] TO [2, 2, 1, 1]   => GOOD! (0)
  256. [2, 1, 3, 3] TO [1, 1, 0, 1]   => GOOD! (1)
  257. [2, 2, 0, 0] TO [2, 3, 2, 3]   => GOOD! (0)
  258. [2, 2, 0, 1] TO [1, 2, 1, 3]   => GOOD! (1)
  259. [2, 2, 0, 2] TO [0, 1, 0, 3]   => GOOD! (2)
  260. [2, 2, 0, 3] TO [3, 0, 3, 3]   => GOOD! (3)
  261. [2, 2, 1, 0] TO [1, 2, 2, 2]   => GOOD! (1)
  262. [2, 2, 1, 1] TO [0, 1, 1, 2]   => GOOD! (2)
  263. [2, 2, 1, 2] TO [3, 0, 0, 2]   => GOOD! (3)
  264. [2, 2, 1, 3] TO [2, 3, 3, 2]   => GOOD! (0)
  265. [2, 2, 2, 0] TO [0, 1, 2, 1]   => GOOD! (2)
  266. [2, 2, 2, 1] TO [3, 0, 1, 1]   => GOOD! (3)
  267. [2, 2, 2, 2] TO [2, 3, 0, 1]   => GOOD! (0)
  268. [2, 2, 2, 3] TO [1, 2, 3, 1]   => GOOD! (1)
  269. [2, 2, 3, 0] TO [3, 0, 2, 0]   => GOOD! (3)
  270. [2, 2, 3, 1] TO [2, 3, 1, 0]   => GOOD! (0)
  271. [2, 2, 3, 2] TO [1, 2, 0, 0]   => GOOD! (1)
  272. [2, 2, 3, 3] TO [0, 1, 3, 0]   => GOOD! (2)
  273. [2, 3, 0, 0] TO [1, 3, 1, 2]   => GOOD! (1)
  274. [2, 3, 0, 1] TO [0, 2, 0, 2]   => GOOD! (2)
  275. [2, 3, 0, 2] TO [3, 1, 3, 2]   => GOOD! (3)
  276. [2, 3, 0, 3] TO [2, 0, 2, 2]   => GOOD! (0)
  277. [2, 3, 1, 0] TO [0, 2, 1, 1]   => GOOD! (2)
  278. [2, 3, 1, 1] TO [3, 1, 0, 1]   => GOOD! (3)
  279. [2, 3, 1, 2] TO [2, 0, 3, 1]   => GOOD! (0)
  280. [2, 3, 1, 3] TO [1, 3, 2, 1]   => GOOD! (1)
  281. [2, 3, 2, 0] TO [3, 1, 1, 0]   => GOOD! (3)
  282. [2, 3, 2, 1] TO [2, 0, 0, 0]   => GOOD! (0)
  283. [2, 3, 2, 2] TO [1, 3, 3, 0]   => GOOD! (1)
  284. [2, 3, 2, 3] TO [0, 2, 2, 0]   => GOOD! (2)
  285. [2, 3, 3, 0] TO [2, 0, 1, 3]   => GOOD! (0)
  286. [2, 3, 3, 1] TO [1, 3, 0, 3]   => GOOD! (1)
  287. [2, 3, 3, 2] TO [0, 2, 3, 3]   => GOOD! (2)
  288. [2, 3, 3, 3] TO [3, 1, 2, 3]   => GOOD! (3)
  289. [3, 0, 0, 0] TO [0, 2, 3, 0]   => GOOD! (3)
  290. [3, 0, 0, 1] TO [3, 1, 2, 0]   => GOOD! (0)
  291. [3, 0, 0, 2] TO [2, 0, 1, 0]   => GOOD! (1)
  292. [3, 0, 0, 3] TO [1, 3, 0, 0]   => GOOD! (2)
  293. [3, 0, 1, 0] TO [3, 1, 3, 3]   => GOOD! (0)
  294. [3, 0, 1, 1] TO [2, 0, 2, 3]   => GOOD! (1)
  295. [3, 0, 1, 2] TO [1, 3, 1, 3]   => GOOD! (2)
  296. [3, 0, 1, 3] TO [0, 2, 0, 3]   => GOOD! (3)
  297. [3, 0, 2, 0] TO [2, 0, 3, 2]   => GOOD! (1)
  298. [3, 0, 2, 1] TO [1, 3, 2, 2]   => GOOD! (2)
  299. [3, 0, 2, 2] TO [0, 2, 1, 2]   => GOOD! (3)
  300. [3, 0, 2, 3] TO [3, 1, 0, 2]   => GOOD! (0)
  301. [3, 0, 3, 0] TO [1, 3, 3, 1]   => GOOD! (2)
  302. [3, 0, 3, 1] TO [0, 2, 2, 1]   => GOOD! (3)
  303. [3, 0, 3, 2] TO [3, 1, 1, 1]   => GOOD! (0)
  304. [3, 0, 3, 3] TO [2, 0, 0, 1]   => GOOD! (1)
  305. [3, 1, 0, 0] TO [3, 2, 2, 3]   => GOOD! (0)
  306. [3, 1, 0, 1] TO [2, 1, 1, 3]   => GOOD! (1)
  307. [3, 1, 0, 2] TO [1, 0, 0, 3]   => GOOD! (2)
  308. [3, 1, 0, 3] TO [0, 3, 3, 3]   => GOOD! (3)
  309. [3, 1, 1, 0] TO [2, 1, 2, 2]   => GOOD! (1)
  310. [3, 1, 1, 1] TO [1, 0, 1, 2]   => GOOD! (2)
  311. [3, 1, 1, 2] TO [0, 3, 0, 2]   => GOOD! (3)
  312. [3, 1, 1, 3] TO [3, 2, 3, 2]   => GOOD! (0)
  313. [3, 1, 2, 0] TO [1, 0, 2, 1]   => GOOD! (2)
  314. [3, 1, 2, 1] TO [0, 3, 1, 1]   => GOOD! (3)
  315. [3, 1, 2, 2] TO [3, 2, 0, 1]   => GOOD! (0)
  316. [3, 1, 2, 3] TO [2, 1, 3, 1]   => GOOD! (1)
  317. [3, 1, 3, 0] TO [0, 3, 2, 0]   => GOOD! (3)
  318. [3, 1, 3, 1] TO [3, 2, 1, 0]   => GOOD! (0)
  319. [3, 1, 3, 2] TO [2, 1, 0, 0]   => GOOD! (1)
  320. [3, 1, 3, 3] TO [1, 0, 3, 0]   => GOOD! (2)
  321. [3, 2, 0, 0] TO [2, 2, 1, 2]   => GOOD! (1)
  322. [3, 2, 0, 1] TO [1, 1, 0, 2]   => GOOD! (2)
  323. [3, 2, 0, 2] TO [0, 0, 3, 2]   => GOOD! (3)
  324. [3, 2, 0, 3] TO [3, 3, 2, 2]   => GOOD! (0)
  325. [3, 2, 1, 0] TO [1, 1, 1, 1]   => GOOD! (2)
  326. [3, 2, 1, 1] TO [0, 0, 0, 1]   => GOOD! (3)
  327. [3, 2, 1, 2] TO [3, 3, 3, 1]   => GOOD! (0)
  328. [3, 2, 1, 3] TO [2, 2, 2, 1]   => GOOD! (1)
  329. [3, 2, 2, 0] TO [0, 0, 1, 0]   => GOOD! (3)
  330. [3, 2, 2, 1] TO [3, 3, 0, 0]   => GOOD! (0)
  331. [3, 2, 2, 2] TO [2, 2, 3, 0]   => GOOD! (1)
  332. [3, 2, 2, 3] TO [1, 1, 2, 0]   => GOOD! (2)
  333. [3, 2, 3, 0] TO [3, 3, 1, 3]   => GOOD! (0)
  334. [3, 2, 3, 1] TO [2, 2, 0, 3]   => GOOD! (1)
  335. [3, 2, 3, 2] TO [1, 1, 3, 3]   => GOOD! (2)
  336. [3, 2, 3, 3] TO [0, 0, 2, 3]   => GOOD! (3)
  337. [3, 3, 0, 0] TO [1, 2, 0, 1]   => GOOD! (2)
  338. [3, 3, 0, 1] TO [0, 1, 3, 1]   => GOOD! (3)
  339. [3, 3, 0, 2] TO [3, 0, 2, 1]   => GOOD! (0)
  340. [3, 3, 0, 3] TO [2, 3, 1, 1]   => GOOD! (1)
  341. [3, 3, 1, 0] TO [0, 1, 0, 0]   => GOOD! (3)
  342. [3, 3, 1, 1] TO [3, 0, 3, 0]   => GOOD! (0)
  343. [3, 3, 1, 2] TO [2, 3, 2, 0]   => GOOD! (1)
  344. [3, 3, 1, 3] TO [1, 2, 1, 0]   => GOOD! (2)
  345. [3, 3, 2, 0] TO [3, 0, 0, 3]   => GOOD! (0)
  346. [3, 3, 2, 1] TO [2, 3, 3, 3]   => GOOD! (1)
  347. [3, 3, 2, 2] TO [1, 2, 2, 3]   => GOOD! (2)
  348. [3, 3, 2, 3] TO [0, 1, 1, 3]   => GOOD! (3)
  349. [3, 3, 3, 0] TO [2, 3, 0, 2]   => GOOD! (1)
  350. [3, 3, 3, 1] TO [1, 2, 3, 2]   => GOOD! (2)
  351. [3, 3, 3, 2] TO [0, 1, 2, 2]   => GOOD! (3)
  352. [3, 3, 3, 3] TO [3, 0, 1, 2]   => GOOD! (0)
  353. All Good: True
  354. '''
Add Comment
Please, Sign In to add comment