@@ -20,7 +20,8 @@ class ExponentialCoinMoves(PuzzleGenerator):
2020
2121 Inspired by [IMO 2010 Problem 5](https://www.imo-official.org/problems.aspx)"""
2222
23- timeout = 10 # sat can run 10 times longer than normal
23+ multiplier = 10 # worth 10 times normal so that it can run 10 times longer than normal
24+ taint_date = [2010 , 7 , 2 ]
2425
2526 @staticmethod
2627 def sat (states : List [List [int ]], n = 16385 ):
@@ -103,6 +104,9 @@ class NoRelativePrimes(PuzzleGenerator):
103104 theorem?
104105 """
105106
107+ taint_date = [2016 , 7 , 1 ]
108+
109+
106110 @staticmethod
107111 def sat (nums : List [int ], b = 6 , m = 2 ):
108112 """
@@ -184,6 +188,8 @@ class FindRepeats(PuzzleGenerator):
184188 Inspired by [IMO 2017 Problem 1](https://www.imo-official.org/problems.aspx)
185189 """
186190
191+ taint_date = [2017 , 7 , 12 ]
192+
187193 @staticmethod
188194 def sat (indices : List [int ], a0 = 123 ):
189195 """
@@ -231,6 +237,8 @@ class PickNearNeighbors(PuzzleGenerator):
231237
232238 The puzzle solution follows the judge's proof closely."""
233239
240+ taint_date = [2017 , 7 , 12 ]
241+
234242 @staticmethod
235243 def sat (keep : List [bool ], heights = [10 , 2 , 14 , 1 , 8 , 19 , 16 , 6 , 12 , 3 , 17 , 0 , 9 , 18 , 5 , 7 , 11 , 13 , 15 , 4 ]):
236244 """
@@ -293,6 +301,8 @@ class FindProductiveList(PuzzleGenerator):
293301 Inspired by [IMO 2010 Problem 5](https://www.imo-official.org/problems.aspx)
294302 """
295303
304+ taint_date = [2010 , 7 , 2 ]
305+
296306 @staticmethod
297307 def sat (li : List [int ], n = 18 ):
298308 """
@@ -324,6 +334,8 @@ def gen(self, target_num_instances):
324334class HalfTag (PuzzleGenerator ):
325335 """Inspired by [IMO 2020 Problem 3](https://www.imo-official.org/problems.aspx)"""
326336
337+ taint_date = [2020 , 9 , 19 ]
338+
327339 @staticmethod
328340 def sat (li : List [int ], n = 3 , tags = [0 , 1 , 2 , 0 , 0 , 1 , 1 , 1 , 2 , 2 , 0 , 2 ]):
329341 """
@@ -410,20 +422,6 @@ def gen_random(self):
410422 self .add (dict (n = n , tags = tags ))
411423
412424
413- # Inspired by IMO 2017 Problem 6. See https://www.imo-official.org/problems.aspx
414- # ----
415- # The problem asks for the n+1 coefficients given the relatively prime pairs. The solution seems involved
416- # and has not yet been implemented.
417- # """
418- #
419- # pairs = [[4, 1], [5, 3], [8, 21]]
420- #
421- #
422- # def sat(li: List[int]):
423- # n = len(li) - 1
424- # return n > 0 and all(sum(c * x ** (n - i) * y ** i for i, c in enumerate(li)) == 1 for x, y in pairs)
425- #
426-
427425
428426if __name__ == "__main__" :
429427 PuzzleGenerator .debug_problems ()
0 commit comments