int main (void) { struct s g6_s = { 106 }; start (1, 0); g1 (tmp); start (2, 0); g2 (&tmp); start (3, 0); g3 (&tmp); start (4, 0); g4 (&tmp); start (5, 0); g5 (tmp); start (6, &g6_s); g6 (tmp); start (7, 0); g7 (tmp); start (8, 0); g8 (&tmp); start (9, 0); g9 (&tmp); return 0; }
bool sanity() { GameState g0(5, 7, 7); // Not a valid game state GameState g1(1, 2, 254); // Finish in 1 round GameState g2(2, 3, 254); // ... in 2 rounds GameState g3(3, 4, 254); // ... in 3 rounds GameState g4(4, 5, 254); // GameState g5(4, 9, 254); // These come from a (slower) python implementation GameState g6(8, 11, 254); GameState g7(12, 19, 254); GameState g8(8, 35, 254); GameState g9(1, 4, 6); // From webpage, known to finish in 15 minutes = at round 2 if (explore_game(g0)!=0) return false; // Verify that we get the expected number if (explore_game(g1)!=1) return false; // of rounds for given input states if (explore_game(g2)!=2) return false; // if (explore_game(g3)!=3) return false; // report an error if not if (explore_game(g4)!=4) return false; if (explore_game(g5)!=5) return false; if (explore_game(g6)!=6) return false; if (explore_game(g7)!=7) return false; if (explore_game(g8)!=8) return false; if (explore_game(g9)!=2) return false; return true; }