My omnium-gatherom of scripts and source code.
at main 34 lines 899 B view raw
1from algorithms import * 2 3def revcat(left: list, right: list) -> list: 4 return left + right[::-1] 5 6left = F(75, 31) 7right = F(31, 75) 8until = 8 9 10def THING(f, l, until): 11 cyc = doubled_edge_cycle(until).adjacency_matrix() 12 left_ = F(f, l) 13 right_ = F(l, f) 14 head = left_[:2] 15 left = left_[:until] 16 right = right_[:until] 17 for idx, p in enumerate(zip(left[::-1], right[2 + until - len(left):]), 1): 18 if p[1] == p[0]: 19 a = right[idx + until - len(left)] 20 b = left[-idx - 3] 21 if (a + b) % p[1] == 0: 22 if idx == 1: 23 body = revcat(left[2: -idx], right[2:-idx]) 24 else: 25 body = revcat(left[2:-idx] + [p[0]], right[2:-idx]) 26 lst = head + body 27 print(lst, idx) 28 29 30THING(31, 75, 8) 31THING(37, 17, 8) 32THING(11, 47, 8) 33THING(57, 13, 8) 34THING(3, 23, 8)