Skip to content

Instantly share code, notes, and snippets.

@kuk
Created November 5, 2011 15:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kuk/1341688 to your computer and use it in GitHub Desktop.
Save kuk/1341688 to your computer and use it in GitHub Desktop.
Ticker solver
1000
3 4 6 6 6 8 10
2 2 5 5 5 9 15
1 1 2 4 7 9 4
2 4 4 7 7 7 58
3 5 8 8 8 9 9
3 3 3 7 7 7 3
1 3 5 5 7 9 17
1 1 3 3 3 5 4
3 4 5 5 5 8 17
2 4 4 4 4 9 5
1 1 5 7 8 8 10
2 4 6 6 9 9 5
1 2 4 4 4 4 21
3 3 5 6 7 7 16
2 2 2 3 6 7 14
2 2 2 3 3 4 2
4 4 6 6 7 9 20
1 2 3 3 3 7 2
1 2 4 7 7 8 9
1 1 2 4 6 6 1
2 2 2 4 8 8 6
3 4 4 6 6 7 12
1 2 2 3 3 4 4
2 2 4 4 6 8 17
2 3 4 5 7 9 5
1 3 3 4 4 4 28
1 2 7 7 8 9 19
2 3 4 4 5 9 15
2 2 5 8 8 9 8
1 2 3 3 4 9 5
2 4 4 8 8 9 2
1 1 1 1 8 9 5
1 4 6 6 9 9 11
5 5 6 6 8 8 19
2 5 5 7 7 7 34
2 3 7 7 7 8 2
1 3 3 5 6 7 10
2 2 5 5 9 9 80
4 6 6 6 6 7 5
3 6 7 7 7 7 20
1 1 3 5 6 9 27
3 3 3 8 8 8 2
5 5 5 8 8 8 5
2 3 6 6 6 7 2
2 6 6 8 8 8 14
1 2 4 5 8 8 2
2 3 6 7 8 9 5
5 5 5 5 6 8 8
1 2 6 7 7 9 16
1 3 8 8 9 9 21
2 4 4 5 6 8 10
2 4 6 7 7 7 8
5 5 5 5 5 7 10
1 2 3 5 6 9 11
1 3 3 5 5 7 7
2 2 7 7 9 9 41
1 2 2 3 7 8 4
5 5 7 7 8 9 18
2 3 3 3 3 4 6
2 2 2 2 4 4 2
5 6 6 8 8 9 17
1 3 3 6 8 9 10
4 4 4 4 7 8 24
2 4 7 7 9 9 2
4 4 4 6 9 9 36
2 2 4 4 8 9 15
1 3 7 8 8 9 2
2 2 4 7 8 9 13
1 2 4 5 5 7 4
4 4 4 4 4 5 102
1 1 5 6 6 9 3
4 4 6 6 8 9 10
3 4 5 7 8 9 8
3 7 7 7 8 8 10
1 2 2 4 4 5 59
2 3 5 7 7 7 18
4 4 6 8 8 8 23
4 5 5 6 6 8 34
1 1 1 3 5 7 2
1 1 1 3 4 7 1
2 5 5 7 8 8 9
3 3 5 5 7 7 3
1 1 2 2 3 8 2
2 6 8 8 8 8 4
1 3 5 5 6 7 3
2 5 5 5 6 9 18
4 4 7 7 7 9 7
1 1 4 4 7 8 4
5 5 5 5 5 8 18
4 4 5 6 7 9 9
2 2 5 6 7 9 4
3 5 7 7 7 8 6
2 5 5 7 9 9 21
4 4 4 6 6 8 43
1 2 6 7 9 9 9
1 3 5 6 7 8 9
3 4 5 7 7 7 12
3 5 5 7 7 8 5
3 3 4 7 7 7 10
2 4 4 7 7 9 4
3 4 4 4 6 9 2
1 1 2 2 7 9 20
1 4 5 5 8 8 65
2 2 2 2 8 8 16
1 1 4 5 6 9 12
2 3 4 4 9 9 2
4 4 5 6 6 9 5
2 2 2 4 7 9 3
1 1 4 4 6 8 2
1 5 8 9 9 9 9
2 2 2 6 6 6 6
2 2 2 6 7 9 2
2 3 3 4 9 9 2
3 6 8 9 9 9 10
1 3 3 3 9 9 18
1 1 1 4 8 9 14
1 4 4 4 7 7 8
1 1 2 3 4 4 15
4 5 7 7 8 8 9
4 6 7 7 9 9 5
1 4 5 5 5 9 20
5 7 7 7 8 9 14
1 1 7 7 7 7 5
3 3 3 5 7 9 2
4 4 7 7 8 8 19
2 3 5 5 5 5 37
1 2 4 4 8 9 2
4 4 4 4 7 9 13
1 2 3 3 4 8 8
3 3 3 7 9 9 10
1 4 7 7 7 9 23
3 3 5 5 6 8 4
1 2 3 4 7 7 7
1 3 3 4 6 7 2
2 3 3 3 7 8 7
2 5 5 5 5 8 18
2 4 6 7 8 9 2
2 2 3 8 8 9 17
2 2 2 5 8 9 3
2 4 5 5 5 5 21
2 2 2 2 5 9 3
2 2 2 3 4 6 3
2 3 5 5 7 8 16
1 3 4 5 6 6 2
2 2 3 3 7 8 8
2 3 4 4 5 7 13
1 3 5 6 7 9 11
2 2 2 4 4 7 16
1 6 7 7 7 7 20
3 4 7 8 9 9 5
1 2 2 2 2 8 6
4 5 5 7 8 9 6
1 5 5 7 7 9 4
5 5 5 6 8 8 24
4 4 4 5 8 9 18
3 6 7 8 8 9 14
4 4 5 5 7 7 22
2 4 4 5 7 8 2
1 2 2 4 6 8 2
4 4 5 6 7 8 13
3 3 3 3 5 8 1
1 5 7 7 7 9 13
1 4 4 6 6 6 4
2 3 3 4 4 6 2
1 3 3 4 4 6 16
1 2 5 7 9 9 8
1 1 3 6 7 7 4
3 3 5 7 8 9 1
2 6 6 7 8 8 2
4 4 6 7 7 9 18
2 2 5 8 8 8 13
3 5 5 6 8 9 7
2 4 5 8 9 9 23
1 2 3 8 8 9 10
1 2 3 5 8 8 5
2 2 2 7 8 8 24
1 2 4 6 7 9 16
2 2 3 4 5 6 2
3 3 3 4 5 8 11
1 2 2 6 6 7 8
1 1 7 8 9 9 5
2 5 6 7 8 9 3
2 4 4 5 5 8 5
4 4 4 4 5 9 1
3 5 5 5 7 8 8
4 4 4 4 4 6 73
3 4 6 7 7 7 3
2 2 2 4 4 8 12
1 3 3 6 6 6 14
2 2 3 4 7 9 7
3 4 5 7 9 9 18
2 2 7 9 9 9 14
3 3 5 8 8 9 10
2 7 7 7 9 9 36
1 1 1 4 4 4 2
2 2 5 7 8 8 7
1 2 3 3 5 6 1
4 4 6 8 8 9 3
1 3 8 9 9 9 28
3 3 3 7 8 8 6
1 1 4 5 7 9 1
1 1 4 4 4 4 15
2 5 5 6 8 9 16
4 4 5 6 7 7 20
2 3 6 7 9 9 5
4 6 6 7 8 9 14
2 2 2 4 4 6 17
1 6 6 7 7 8 10
6 6 8 8 8 8 46
4 4 4 8 9 9 1
1 1 2 2 4 4 2
2 3 3 7 9 9 2
5 5 7 7 7 8 52
3 3 3 3 4 8 8
1 5 6 6 6 9 23
1 2 6 6 7 8 5
1 2 5 6 8 8 5
4 6 6 7 7 7 4
1 1 4 5 5 6 12
2 2 2 3 5 8 9
4 5 6 8 9 9 14
6 6 7 7 7 8 15
3 5 5 5 6 9 4
2 3 3 3 4 8 7
2 2 6 8 9 9 20
3 5 6 7 8 8 5
4 4 4 8 8 8 1
3 3 7 7 8 9 4
5 5 7 8 8 9 8
3 3 6 7 9 9 14
2 2 3 6 7 7 11
3 3 3 4 7 8 7
2 2 3 4 8 8 8
2 5 5 5 5 6 7
1 4 5 9 9 9 41
3 3 7 7 7 7 10
2 3 5 7 7 9 4
1 2 4 6 8 8 4
5 7 7 7 7 8 16
3 5 7 8 8 9 7
5 5 6 6 7 8 40
4 6 6 6 6 8 48
2 2 3 5 5 7 10
2 2 4 4 6 7 3
2 4 4 5 7 9 7
3 3 5 5 7 8 11
1 4 6 6 7 8 9
2 2 2 3 6 8 23
2 2 4 5 8 8 36
3 3 3 8 8 9 8
2 2 4 8 8 9 12
1 1 2 4 5 5 38
2 4 5 7 8 9 4
2 4 5 5 6 9 11
1 4 6 7 8 9 14
1 3 5 5 5 7 5
1 2 2 7 8 9 20
1 2 2 3 4 7 6
5 5 6 8 8 9 41
1 1 3 3 3 7 5
1 3 3 4 4 7 3
1 1 7 7 7 9 8
2 3 6 7 8 8 6
5 8 8 8 9 9 2
2 4 4 4 8 9 10
1 2 3 5 7 7 14
1 2 3 3 5 5 31
3 3 5 6 6 8 11
4 5 5 7 8 8 17
1 2 4 6 7 7 9
1 1 4 5 5 8 1
1 2 2 4 5 9 7
2 3 3 5 5 8 10
4 7 7 7 9 9 41
2 4 5 6 7 7 13
3 5 5 5 7 9 7
1 1 5 5 9 9 14
2 3 3 3 5 9 7
1 7 9 9 9 9 6
1 2 4 4 6 9 5
2 3 3 4 7 7 14
2 2 5 6 6 8 37
1 3 4 5 6 8 7
1 5 5 5 5 9 13
2 5 7 7 7 7 10
1 1 3 5 9 9 17
4 6 8 8 8 9 5
1 4 4 4 9 9 12
1 1 1 6 7 7 8
4 4 5 6 6 7 16
1 1 2 2 5 5 109
2 5 5 5 6 8 15
1 4 4 6 9 9 13
2 2 3 6 7 9 33
1 1 8 9 9 9 38
2 3 3 4 8 8 2
3 3 4 5 5 5 32
1 6 6 6 6 8 15
1 2 3 3 6 8 25
1 3 4 4 4 9 2
3 4 4 8 8 8 9
3 4 4 5 6 9 2
1 1 3 3 3 8 9
1 3 5 7 7 9 10
2 2 2 3 4 7 1
4 5 5 5 9 9 24
1 1 3 6 8 8 11
4 4 5 8 8 9 4
2 2 4 5 5 8 15
3 4 5 8 8 9 6
2 2 2 3 7 9 6
1 3 3 4 5 8 11
3 5 5 5 5 7 11
1 3 6 6 8 8 15
2 2 2 5 6 6 10
1 4 7 7 8 8 11
2 3 5 5 5 6 12
1 2 6 6 6 8 19
3 4 4 5 9 9 7
1 2 4 5 6 7 2
1 1 5 6 9 9 17
1 1 2 2 5 9 3
2 6 6 7 7 8 8
1 2 5 6 7 8 11
2 6 7 7 7 8 18
2 2 2 3 8 8 8
4 4 5 5 5 9 40
5 5 6 9 9 9 50
5 5 5 5 5 9 40
2 2 3 3 4 6 8
2 2 7 7 8 9 21
3 6 6 6 7 7 15
1 2 2 2 2 9 3
1 2 5 5 8 8 4
2 2 7 7 7 9 8
1 3 5 6 6 8 18
4 5 7 7 7 8 19
2 3 5 6 8 8 13
2 3 4 5 6 6 21
2 2 2 6 7 8 29
2 3 5 6 6 6 10
1 2 6 6 8 8 4
5 5 6 7 8 8 14
6 6 7 8 9 9 14
1 1 1 1 6 8 2
1 3 3 4 8 8 18
4 5 5 5 8 8 19
1 1 5 7 7 9 17
1 3 3 8 8 8 5
3 4 5 5 6 8 7
1 3 3 3 3 8 12
2 5 5 5 5 5 141
3 3 5 8 9 9 21
5 5 8 8 8 9 19
1 1 2 6 8 8 6
1 1 2 5 5 6 1
3 5 5 5 5 5 43
1 3 6 7 9 9 15
5 7 7 7 8 8 7
1 3 4 9 9 9 9
1 1 2 2 3 5 9
1 2 2 4 7 8 5
1 4 4 4 4 4 16
4 6 7 7 7 9 19
1 4 4 4 5 7 11
2 3 6 8 8 9 14
1 3 3 7 8 8 8
1 2 5 5 6 9 8
3 4 4 5 5 8 4
1 3 4 4 5 9 8
1 4 4 7 7 8 4
4 7 7 9 9 9 2
3 4 4 4 5 8 11
3 3 3 6 7 7 5
3 5 5 5 6 6 11
3 3 4 7 7 9 2
2 3 4 5 5 9 11
4 6 8 8 9 9 26
3 7 8 9 9 9 18
2 6 6 8 9 9 4
1 1 6 6 6 8 5
2 4 4 5 8 9 2
1 2 6 6 9 9 21
2 3 5 5 6 8 11
4 6 6 7 9 9 36
1 1 2 3 5 5 9
1 3 4 8 8 8 16
1 1 3 4 6 8 3
5 5 7 7 8 8 7
2 4 7 7 7 8 11
1 5 5 6 6 6 4
5 5 6 6 8 9 4
4 5 7 7 7 7 20
1 1 2 4 4 6 15
1 1 5 5 5 8 2
2 2 6 8 8 9 6
2 2 4 7 7 8 14
1 3 5 5 5 9 5
2 2 3 7 9 9 6
1 1 1 1 6 7 1
1 1 3 7 7 7 2
1 4 5 5 6 9 19
3 4 4 4 6 6 5
2 3 5 7 8 9 2
2 2 2 5 5 6 5
2 3 5 6 6 9 5
1 1 6 7 7 9 28
3 4 4 4 6 8 8
2 4 5 6 9 9 5
4 4 6 6 6 7 3
2 2 7 8 8 9 9
1 1 2 3 6 9 13
3 3 4 5 7 7 2
5 5 7 8 8 8 50
4 7 7 7 8 8 9
3 6 7 7 8 8 4
5 7 8 8 8 9 38
1 3 6 6 6 8 12
3 4 5 5 5 9 11
1 1 1 2 4 5 12
1 1 3 3 6 7 4
1 2 4 7 7 9 15
2 3 6 7 7 9 9
3 3 6 7 8 9 11
2 5 7 7 9 9 11
2 4 4 4 6 7 4
1 1 1 2 5 9 7
2 4 6 6 6 8 20
2 3 4 6 7 8 17
2 3 4 4 5 6 7
5 5 6 6 6 8 17
1 1 1 7 7 7 28
2 4 5 7 7 7 11
2 5 6 6 6 7 3
1 2 5 8 8 9 4
2 2 3 4 4 5 36
1 2 5 5 5 8 5
2 3 3 3 5 5 16
4 7 7 7 8 9 46
2 5 5 7 7 9 39
1 1 3 3 3 4 2
4 6 7 7 7 8 17
5 5 6 6 7 7 7
1 3 5 6 6 7 6
3 5 5 6 7 9 4
1 3 5 5 6 6 28
1 6 6 9 9 9 2
2 7 7 7 8 9 11
1 5 5 5 6 8 5
2 2 2 2 3 8 21
1 3 3 4 7 9 29
1 3 3 4 4 5 45
4 4 4 7 9 9 45
1 2 3 3 7 9 8
1 4 5 6 7 7 17
1 2 4 4 6 8 4
1 5 5 6 8 9 2
2 2 2 5 7 8 9
4 6 6 6 9 9 5
2 4 5 7 7 8 11
1 1 1 3 4 4 2
2 3 4 5 5 8 3
1 3 7 7 8 8 11
1 1 6 6 7 7 2
2 3 6 6 8 9 2
5 5 5 6 7 9 17
2 2 4 4 4 6 12
1 1 2 7 8 8 2
3 6 7 7 8 9 11
3 3 4 4 4 6 12
1 2 2 3 7 9 7
2 4 4 6 6 9 6
1 1 1 2 7 9 6
2 2 2 6 6 9 3
1 5 5 6 6 7 4
3 3 5 5 6 9 15
3 4 4 5 7 9 3
2 5 6 7 7 7 5
1 4 4 5 7 7 24
5 7 7 8 9 9 16
1 3 6 6 8 9 19
3 4 5 6 7 8 6
1 1 3 6 9 9 23
1 1 3 7 7 8 1
1 2 3 4 4 9 4
2 2 3 4 5 5 36
5 6 8 8 9 9 18
2 2 6 6 9 9 1
5 5 8 9 9 9 23
1 2 5 5 5 5 20
2 2 2 7 7 9 25
2 3 4 5 8 8 23
1 3 6 7 7 7 4
4 4 7 7 7 8 1
2 2 2 2 5 6 1
3 3 4 4 4 5 21
4 4 6 6 9 9 3
1 2 2 3 5 5 49
1 5 5 5 5 8 3
2 3 3 6 6 7 12
1 3 4 4 8 8 5
1 1 2 3 5 6 4
1 3 7 9 9 9 34
2 2 4 4 6 6 14
1 1 2 5 5 9 16
4 4 4 6 6 9 25
3 4 6 7 7 9 11
2 2 2 2 2 6 9
2 2 4 4 5 7 5
5 6 6 7 7 7 3
1 5 6 9 9 9 30
2 2 2 4 6 6 8
2 6 6 7 7 9 12
2 3 4 7 7 8 13
4 4 4 4 5 5 49
4 5 5 5 7 7 10
1 3 4 4 7 8 10
1 2 2 6 6 8 14
3 4 4 4 5 6 1
2 2 2 2 5 7 6
3 4 4 7 7 8 21
1 5 5 5 7 8 19
1 1 2 4 5 7 1
2 2 3 3 3 8 27
2 3 3 3 4 7 6
1 3 3 5 7 8 17
1 3 3 4 5 5 80
2 4 5 7 9 9 2
1 4 6 6 8 9 5
4 5 5 6 6 9 16
2 2 2 2 7 8 7
1 1 1 6 6 8 7
1 1 3 4 6 9 8
3 6 6 7 7 7 10
1 4 5 5 9 9 65
1 1 4 5 6 6 1
3 3 5 6 7 8 8
1 2 4 4 5 5 25
2 6 6 7 7 7 41
1 5 5 5 9 9 9
1 1 4 6 8 9 10
2 2 6 7 7 9 12
2 4 6 6 7 9 9
1 5 5 5 7 9 2
1 4 4 5 6 9 26
2 2 5 6 7 7 46
2 3 5 5 8 8 5
4 4 5 5 8 8 31
2 2 2 7 8 9 5
5 6 6 7 7 9 2
4 6 6 6 8 8 39
2 3 4 7 7 9 17
2 2 3 3 3 7 18
1 2 7 7 7 9 27
2 2 3 4 4 7 8
1 2 7 8 9 9 2
2 2 3 5 5 5 25
1 2 2 5 8 9 2
5 5 5 5 5 5 162
1 3 5 5 7 8 15
2 2 3 7 7 9 16
1 5 5 7 7 8 4
2 2 2 2 5 5 164
3 5 5 8 9 9 4
2 4 4 5 6 6 5
1 1 5 7 7 7 4
1 3 4 4 5 5 49
5 6 7 7 7 9 24
3 3 6 6 8 8 8
4 5 5 5 6 8 1
3 3 3 8 9 9 4
1 5 5 8 8 9 5
1 3 4 8 9 9 6
1 1 1 5 8 9 7
2 4 4 5 6 9 1
2 2 2 6 9 9 2
1 1 2 3 8 8 1
2 2 2 3 3 5 17
2 6 7 7 9 9 2
4 5 6 7 9 9 7
2 3 3 4 5 5 47
1 3 3 3 3 5 5
2 6 6 6 6 8 5
1 1 3 8 8 9 8
4 5 5 5 6 7 4
1 1 4 6 6 8 18
3 7 7 7 7 9 4
1 5 5 5 8 8 2
5 6 6 8 8 8 51
1 3 5 6 9 9 9
4 4 5 5 5 5 77
1 4 4 6 7 8 18
2 2 4 4 4 9 13
1 2 2 5 6 9 28
2 3 4 5 7 8 17
1 1 1 2 5 5 66
6 6 7 7 7 9 1
2 3 3 6 8 8 4
4 4 5 7 7 8 18
1 1 6 6 9 9 22
1 3 6 7 7 8 1
2 4 4 4 4 5 13
2 2 2 4 6 7 15
3 3 3 5 7 8 2
2 5 7 8 8 9 9
1 4 5 7 7 9 15
1 2 3 4 5 9 2
3 4 4 4 5 9 12
1 1 3 4 9 9 27
1 5 6 7 7 9 27
1 3 5 8 8 9 5
1 1 1 6 7 9 6
2 5 5 5 5 7 7
1 3 3 3 3 4 12
1 3 8 8 8 9 24
1 1 2 6 7 8 15
1 4 4 5 5 8 1
3 5 6 7 7 8 6
1 5 6 6 7 8 4
1 1 3 3 5 9 14
3 4 4 4 8 9 4
1 4 4 6 6 8 11
1 1 4 8 9 9 14
4 5 8 8 9 9 2
4 5 6 8 8 8 11
2 4 4 4 9 9 4
2 2 5 8 9 9 10
2 5 5 7 8 9 8
3 4 5 8 8 8 11
2 3 4 4 4 6 15
5 5 5 6 6 8 27
1 2 2 4 8 8 14
1 2 3 3 4 4 1
2 3 4 5 6 7 2
5 5 5 7 7 9 34
1 6 6 7 9 9 19
4 5 6 6 8 9 12
2 2 5 5 6 8 26
4 5 6 6 6 6 10
2 4 6 8 8 8 8
2 4 8 9 9 9 4
4 5 5 6 7 7 12
3 4 6 6 7 9 7
2 2 2 3 7 8 11
1 3 4 4 4 7 4
1 3 4 4 8 9 26
2 2 2 5 5 5 63
2 5 5 6 7 7 2
3 5 5 7 7 9 7
4 4 4 5 6 6 40
3 3 3 7 7 9 6
1 2 2 6 7 9 8
1 2 2 2 5 9 9
1 4 5 5 7 9 22
2 3 4 7 8 9 8
1 5 7 7 7 8 5
2 3 3 3 4 5 56
6 8 8 8 9 9 4
5 6 7 8 9 9 7
1 5 5 5 5 7 3
1 3 4 7 7 9 16
3 3 5 5 5 9 13
1 1 4 4 8 8 18
2 2 4 6 9 9 10
3 6 6 8 9 9 20
1 1 1 2 6 8 7
2 3 7 8 9 9 7
1 1 2 2 4 9 3
2 6 7 8 8 8 42
1 3 4 7 8 8 24
1 1 4 6 7 9 12
3 5 6 8 9 9 10
4 7 7 8 8 9 29
3 3 4 7 8 8 8
1 3 3 6 6 7 2
5 5 7 7 9 9 2
1 1 2 3 3 5 4
2 4 4 4 6 8 4
4 6 6 6 7 8 7
1 1 3 3 9 9 6
1 3 4 4 7 9 5
2 2 4 5 7 9 27
3 5 5 5 5 8 5
1 3 3 3 6 9 8
1 5 5 7 8 8 6
1 2 3 4 5 6 2
3 5 5 5 7 7 11
3 4 5 5 7 9 2
3 5 5 8 8 9 24
4 8 8 8 8 9 64
2 2 2 4 5 8 6
2 4 4 6 7 8 24
1 2 2 5 7 7 6
1 2 4 6 6 8 6
2 3 3 5 5 9 10
6 6 7 8 8 8 2
1 1 5 5 7 8 18
4 4 7 8 8 8 17
3 6 6 7 8 8 8
1 5 7 8 8 9 5
1 1 2 8 8 9 8
1 2 3 4 5 5 48
2 2 3 7 8 8 27
2 2 5 5 5 6 3
2 4 4 5 6 7 2
3 3 6 7 7 9 14
1 1 2 5 9 9 27
2 3 6 8 8 8 4
2 2 2 6 8 9 23
2 4 4 5 9 9 21
2 2 6 6 7 7 23
1 2 3 4 4 5 15
1 3 6 6 7 8 7
1 2 2 7 9 9 24
1 3 6 8 8 9 4
1 3 5 5 6 8 7
4 5 5 8 8 9 42
1 4 5 6 6 9 21
1 3 7 7 8 9 22
1 1 2 5 8 9 13
2 6 6 6 7 8 37
5 6 7 8 8 9 18
1 2 4 6 7 8 8
4 5 5 7 9 9 36
2 6 7 7 7 7 20
2 2 3 6 6 7 2
1 2 7 9 9 9 37
2 2 4 5 7 8 11
3 6 6 7 9 9 5
2 2 3 5 8 8 12
2 5 5 6 8 8 5
4 5 5 6 8 8 43
1 3 4 5 8 9 10
4 4 5 5 6 9 22
5 5 5 5 5 6 20
2 2 2 3 3 7 13
1 4 7 8 8 9 23
4 4 6 7 8 9 4
5 5 5 5 8 9 11
1 1 6 6 8 8 17
1 1 3 6 7 9 24
1 1 4 4 5 5 22
1 4 6 8 8 9 5
2 2 6 6 6 7 20
2 4 4 6 6 6 10
3 3 4 4 7 9 8
1 2 5 6 9 9 8
1 5 5 5 7 7 9
4 4 4 5 6 8 26
4 6 8 9 9 9 32
2 2 3 3 4 9 2
4 4 5 5 5 8 1
3 3 3 3 4 5 4
3 7 7 7 7 8 20
2 4 4 4 4 4 14
1 2 3 6 6 9 9
1 3 4 6 9 9 10
4 4 4 6 6 6 55
4 4 5 7 8 9 11
1 1 5 6 7 8 9
4 5 5 5 6 9 4
4 5 5 8 8 8 25
2 4 5 5 6 7 1
1 6 7 9 9 9 18
4 4 5 6 8 9 5
1 1 3 4 5 5 10
1 2 4 4 9 9 23
1 2 2 4 4 9 8
1 1 3 5 5 8 4
4 5 6 7 8 9 6
2 3 3 5 7 8 2
2 5 5 5 9 9 52
4 5 8 9 9 9 10
2 3 3 5 7 7 5
3 4 7 7 8 9 4
2 5 6 6 9 9 18
1 5 6 8 8 8 12
1 1 5 8 9 9 9
1 1 4 4 6 9 7
1 2 4 5 5 8 2
1 1 5 5 8 9 2
2 5 5 5 6 7 9
1 1 2 2 8 9 12
1 2 8 9 9 9 32
2 2 4 9 9 9 10
1 2 2 4 9 9 6
4 4 4 9 9 9 23
1 3 4 4 6 8 1
4 7 8 9 9 9 23
2 3 3 5 8 9 2
2 4 4 6 6 7 4
1 1 2 3 4 9 5
2 2 2 6 6 7 10
2 2 3 3 7 7 29
1 4 4 4 4 5 62
4 4 4 4 5 8 42
2 3 3 4 7 9 2
1 2 2 2 6 8 19
2 2 2 4 5 6 1
1 4 7 7 8 9 23
2 7 7 8 8 8 4
4 6 6 6 8 9 10
2 2 3 3 6 6 4
1 1 2 5 7 7 6
4 6 6 8 9 9 19
1 4 6 6 6 8 11
1 1 1 3 3 9 3
1 3 5 5 9 9 28
2 3 4 4 7 8 4
1 2 2 2 4 8 2
1 1 2 7 7 8 4
2 5 5 6 7 9 9
1 2 2 3 4 8 19
2 2 6 7 7 8 8
2 2 4 6 6 8 33
1 2 3 3 5 7 6
4 4 4 4 4 8 12
3 3 6 7 7 8 2
2 3 3 7 7 8 7
1 3 3 9 9 9 26
2 3 5 7 9 9 4
2 2 4 4 7 8 18
5 5 6 7 7 8 8
1 2 4 4 7 8 1
1 2 4 5 6 9 6
3 3 3 4 5 7 2
4 4 4 6 8 8 53
4 4 4 4 6 8 11
4 4 5 6 9 9 17
3 3 5 5 7 9 5
1 3 4 6 6 9 15
1 3 4 8 8 9 2
1 2 6 6 7 7 13
2 2 5 7 8 9 4
4 5 5 5 5 6 25
1 1 2 3 7 9 6
2 3 7 7 8 9 7
1 1 2 8 9 9 12
3 3 6 6 7 7 4
6 6 8 9 9 9 10
1 1 4 4 9 9 5
1 3 5 6 6 9 7
1 4 5 7 9 9 7
2 3 3 5 5 7 7
3 3 4 7 9 9 8
1 1 2 4 4 4 7
2 5 5 5 7 8 10
1 3 4 5 6 7 6
1 1 1 7 7 8 2
2 7 7 7 7 7 112
1 3 6 8 8 8 4
4 5 5 6 9 9 17
1 2 2 4 4 6 22
2 2 8 8 8 9 2
4 4 4 6 8 9 15
1 3 3 5 5 8 2
2 3 3 5 6 8 3
4 4 4 5 5 9 22
1 3 3 5 7 9 27
2 4 4 9 9 9 28
1 3 3 3 7 7 4
2 6 7 7 8 9 5
1 1 1 1 5 5 15
3 4 5 5 6 7 9
1 5 6 7 8 9 12
3 5 6 7 9 9 4
1 3 3 3 4 8 20
1 2 2 2 3 7 6
4 4 7 8 8 9 2
1 1 2 5 6 9 9
1 1 2 4 5 9 14
1 2 4 7 7 7 2
2 3 5 6 7 7 10
3 3 3 4 4 5 23
1 2 2 5 5 5 20
2 2 3 4 8 9 7
2 4 6 6 7 7 1
2 3 5 7 8 8 5
2 2 5 5 5 5 218
1 3 5 6 8 9 21
2 2 6 8 8 8 24
2 2 4 4 5 8 17
3 5 5 6 6 8 14
2 3 4 5 5 5 99
1 5 5 6 6 9 8
1 1 1 4 7 9 40
3 3 4 6 9 9 5
1 2 2 5 7 8 14
2 3 3 6 7 9 2
3 3 3 4 4 9 1
1 2 3 6 8 9 2
4 5 5 5 6 6 15
2 3 3 4 6 7 7
2 2 3 3 8 9 11
4 5 6 7 7 8 2
2 4 4 7 7 8 2
1 2 2 7 8 8 4
2 3 4 6 6 9 2
5 6 8 8 8 9 10
1 5 5 6 7 9 19
2 2 7 7 8 8 36
3 3 3 6 6 8 34
2 2 2 4 8 9 12
1 1 2 4 8 9 5
1 2 5 6 8 9 15
3 3 6 7 8 8 6
1 3 3 3 5 6 6
1 4 4 5 9 9 20
1 6 6 6 9 9 25
2 4 4 5 5 7 2
6 6 7 8 8 9 2
1 1 3 3 4 5 4
1 1 3 3 7 8 1
2 4 4 6 6 8 28
4 5 7 8 8 9 8
2 2 2 5 5 8 9
2 5 6 6 6 6 4
1 2 3 3 3 6 1
2 3 3 3 4 4 19
1 1 4 4 4 9 18
1 3 6 6 7 7 7
1 4 5 8 8 8 5
4 4 4 4 4 9 50
1 4 5 5 6 7 14
4 5 6 8 8 9 2
2 2 2 5 6 8 6
2 2 5 7 7 9 27
1 4 4 9 9 9 3
3 4 4 6 7 7 8
2 2 2 7 7 7 40
2 2 2 6 6 8 2
4 4 5 5 9 9 19
4 4 5 6 6 8 28
4 4 4 5 9 9 26
5 5 6 7 8 9 21
1 4 4 8 8 9 2
1 6 7 7 8 8 17
2 3 3 4 6 9 5
1 3 3 3 5 8 2
3 4 6 6 9 9 14
2 2 2 2 4 7 4
1 1 1 1 5 9 1
1 2 3 3 5 9 10
3 5 6 6 6 7 4
3 4 5 6 8 8 10
2 2 3 3 5 6 4
2 5 6 8 8 8 6
3 3 4 4 8 9 6
2 3 3 5 8 8 10
5 6 6 6 7 9 18
3 4 4 6 8 8 10
4 7 8 8 8 8 5
3 4 5 5 8 8 2
1 4 5 6 7 9 6
2 4 6 7 8 8 12
3 3 6 7 7 7 4
3 3 6 6 6 7 8
2 2 2 2 2 8 12
1 2 5 7 8 9 4
3 5 5 7 9 9 15
4 4 5 5 8 9 4
1 1 2 3 7 8 2
1 1 4 4 5 9 6
3 5 5 7 7 7 2
4 4 7 7 7 7 4
3 5 5 9 9 9 20
2 2 2 3 4 4 41
1 5 5 6 8 8 7
3 3 3 4 4 4 25
2 2 2 3 3 8 6
2 3 7 7 7 9 34
1 3 3 4 5 6 12
1 3 4 5 5 9 7
1 1 1 2 4 9 1
1 1 2 2 3 9 4
1 5 7 7 8 9 19
4 5 5 6 7 9 22
1 4 4 6 7 7 8
2 2 3 6 6 8 30
1 1 4 6 6 9 5
2 3 5 5 6 9 7
4 6 7 7 8 8 25
4 5 5 7 7 7 25
1 1 2 2 5 7 5
1 2 5 5 8 9 12
1 4 5 5 6 6 64
1 4 4 4 8 8 6
4 6 6 6 7 9 33
3 3 3 3 7 7 6
3 7 8 8 8 9 6
1 3 3 6 9 9 8
5 7 7 9 9 9 12
4 5 6 7 7 7 14
1 3 4 4 6 7 1
4 4 5 6 8 8 17
1 4 5 6 8 8 5
2 2 2 2 7 9 6
1 1 3 5 5 6 2
1 6 6 7 8 9 7
2 3 5 6 6 7 10
#!/usr/bin/env python
from itertools import product, groupby
import sys
def LeftBracketIndexes(n):
"""Algorithm N of Knuth's TAoCP 4D"""
g = [None]
z = [None]
for j in range(1, n + 1):
z.append(2 * j - 1)
g.append(2 * j - 2)
while True:
yield z[1::]
j = n
while z[j] == g[j]:
g[j] = g[j] ^ 1
j = j - 1
if (g[j] - z[j]) % 2 == 0:
z[j] = z[j] + 2
else:
t = z[j] - 2
if t < 0:
break
else:
if t < z[j - 1]:
t = t + 3
elif t == z[j - 1]:
t = t + 1
z[j] = t
def MakeStack(indexes, operations):
stack = []
operationIndex = 0
digitIndex = 0
for index in range(0, len(indexes) + len(operations) + 1):
if operationIndex < len(operations) and index + 1 == indexes[operationIndex]:
stack.append(operations[operationIndex])
operationIndex += 1
elif digitIndex < len(indexes) + 1:
stack.append('d')
digitIndex += 1
return stack
def MapStack(digits, stack):
digitIndex = 0
mapped = []
for item in stack:
if item == 'd':
mapped.append(digits[digitIndex])
digitIndex += 1
else:
mapped.append(item)
return mapped
def EvalStack(stack):
buffer = []
while len(stack) > 0:
item = stack.pop()
if item == '+' or item == '-' or item == '*':
a = buffer.pop()
b = buffer.pop()
if item == '+':
buffer.append(a + b)
elif item == '-':
buffer.append(a - b)
elif item == '*':
buffer.append(a * b)
else:
buffer.append(item)
return buffer.pop()
def ReadTests():
tests = []
for line in sys.stdin:
test = map(lambda digit: int(digit), line.strip('\n').split(' '))
answer = test.pop()
if len(test) > 0 and answer != None:
tests.append((test, answer))
return tests
size = 6
target = 100
indexesSet = list(LeftBracketIndexes(size - 1))
operationsSet = list(product('+-*', repeat=size - 1))
tests = ReadTests()
stacks = []
for indexes in indexesSet:
for operations in operationsSet:
stack = MakeStack(indexes, operations)
stacks.append(([], stack))
experimental = 15
for ticket, answer in tests[:experimental]:
targets = 0
for guesses, stack in stacks:
guess = EvalStack(MapStack(ticket, stack))
guesses.append(guess)
if guess == target:
targets += 1
print targets == answer
stacks = sorted(map(lambda s: (str(s[0]), s[1]), stacks), key=lambda a: a[0])
distinctStacks = []
for _, group in groupby(stacks, key=lambda a: a[0]):
_, stack = next(group)
distinctStacks.append((stack, len(list(group)) + 1))
for ticket, answer in tests[experimental:]:
targets = 0
for stack, same in distinctStacks:
guess = EvalStack(MapStack(ticket, stack))
if guess == target:
targets += same
print targets == answer
# 10206 stacks
# 2595 distinct stacks
# On all stacks
# real 4m48.268s
# user 4m44.367s
# sys 0m0.601s
# On ditinct stacks
# real 1m4.194s
# user 1m3.181s
# sys 0m0.178s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment