Initial commit
This commit is contained in:
100
d2/d2.input
Normal file
100
d2/d2.input
Normal file
@@ -0,0 +1,100 @@
|
||||
Game 1: 1 red, 3 blue, 11 green; 1 blue, 5 red; 3 blue, 5 green, 13 red; 6 red, 1 blue, 4 green; 16 red, 12 green
|
||||
Game 2: 3 red, 13 blue, 5 green; 14 green, 14 blue; 9 blue, 10 green, 3 red; 2 green, 5 blue; 11 green, 3 blue, 3 red; 16 blue, 2 red, 9 green
|
||||
Game 3: 17 blue, 5 red; 3 red, 11 green, 17 blue; 1 red, 6 blue, 9 green; 3 blue, 11 green, 1 red; 3 green, 10 red, 11 blue; 12 red, 3 green, 15 blue
|
||||
Game 4: 14 green, 14 red, 1 blue; 15 red, 13 green, 1 blue; 6 green, 15 red; 7 green
|
||||
Game 5: 3 green, 1 blue, 3 red; 6 red, 2 green, 2 blue; 12 red, 3 green, 1 blue; 2 green, 9 red; 1 blue; 2 blue, 10 red
|
||||
Game 6: 5 blue, 5 green; 4 blue, 1 red, 10 green; 16 green, 1 red, 6 blue; 1 red, 1 blue, 13 green; 1 red, 5 blue, 7 green; 14 green, 17 blue
|
||||
Game 7: 1 green, 8 blue, 4 red; 1 green, 4 blue, 4 red; 6 blue, 4 red, 4 green; 1 red, 8 green
|
||||
Game 8: 2 red, 5 blue, 1 green; 1 blue, 4 red, 8 green; 6 blue, 12 green, 6 red; 3 blue, 5 red; 8 red, 2 blue, 13 green; 5 green, 4 red, 3 blue
|
||||
Game 9: 11 red; 1 green, 2 red, 2 blue; 1 blue, 2 green, 9 red; 4 red, 2 green, 2 blue; 1 blue, 2 green; 1 blue, 9 red, 2 green
|
||||
Game 10: 9 red, 4 green; 1 blue, 3 red, 7 green; 3 green, 1 red, 1 blue; 7 green, 4 red, 1 blue; 1 blue, 5 green, 10 red; 1 red, 5 green
|
||||
Game 11: 2 blue, 4 red, 3 green; 1 blue, 7 red; 4 green, 7 red, 1 blue; 3 blue, 6 green, 4 red; 3 red, 1 green, 3 blue
|
||||
Game 12: 1 green, 6 red, 5 blue; 3 green, 2 red, 4 blue; 3 green, 1 red, 3 blue
|
||||
Game 13: 6 green, 1 red, 9 blue; 11 red, 4 blue, 12 green; 6 green, 9 red, 19 blue; 2 green, 6 blue; 10 green, 1 red, 16 blue; 4 green, 14 blue
|
||||
Game 14: 7 blue, 2 red; 1 green, 2 red, 19 blue; 12 blue, 6 green, 11 red
|
||||
Game 15: 4 red, 4 green, 7 blue; 15 blue, 1 green, 8 red; 2 red, 10 green, 11 blue; 5 red, 4 blue, 6 green; 9 red, 8 blue, 3 green; 9 blue, 9 red
|
||||
Game 16: 7 red, 2 blue, 19 green; 6 blue, 9 green; 8 green, 6 red, 19 blue; 11 green, 7 red, 1 blue; 9 blue, 3 red, 17 green
|
||||
Game 17: 3 blue, 4 green, 5 red; 2 red, 4 green, 11 blue; 6 blue, 13 green; 3 blue, 12 green, 7 red
|
||||
Game 18: 9 red, 6 blue, 7 green; 3 green, 3 blue, 5 red; 18 red, 6 blue, 4 green; 3 green, 10 red, 8 blue
|
||||
Game 19: 3 red, 6 green; 1 red, 5 green, 4 blue; 3 red, 14 blue
|
||||
Game 20: 2 green, 2 blue, 4 red; 14 red, 6 blue, 5 green; 1 blue, 5 red, 3 green; 10 red, 6 green, 6 blue
|
||||
Game 21: 10 blue, 12 green, 3 red; 1 green, 14 red; 5 blue, 7 green; 12 blue, 1 red, 13 green; 7 red, 4 green
|
||||
Game 22: 2 red, 1 blue; 1 red, 2 blue; 1 red, 1 green, 3 blue; 3 blue; 1 red; 1 green, 2 red
|
||||
Game 23: 4 blue, 4 green, 1 red; 3 blue, 1 red, 6 green; 1 red, 1 blue
|
||||
Game 24: 5 blue, 15 green, 13 red; 20 green, 13 blue, 6 red; 5 blue, 11 red, 16 green; 6 red, 5 blue, 13 green; 12 blue, 13 green, 3 red
|
||||
Game 25: 10 blue, 17 red; 12 red, 16 blue, 3 green; 4 green, 12 blue, 10 red; 8 blue, 3 green, 10 red; 5 green, 2 red, 12 blue
|
||||
Game 26: 11 red, 9 blue; 3 blue, 3 red, 3 green; 10 blue, 3 green, 4 red; 1 green, 4 blue, 9 red; 5 green, 1 red, 7 blue; 1 red, 3 blue, 3 green
|
||||
Game 27: 1 green, 12 red, 4 blue; 5 red, 2 green, 1 blue; 3 green, 6 blue, 10 red; 1 green, 4 red, 3 blue
|
||||
Game 28: 6 blue; 2 green; 2 green, 8 blue, 1 red; 2 green, 2 blue; 6 blue, 8 green; 9 green, 5 blue
|
||||
Game 29: 1 green, 9 blue, 9 red; 13 green, 4 red, 9 blue; 3 green, 8 blue, 15 red; 15 green, 18 blue, 3 red; 16 green, 10 red; 16 green, 12 blue, 16 red
|
||||
Game 30: 14 blue, 4 green, 1 red; 7 red, 14 blue; 2 blue, 4 red, 1 green
|
||||
Game 31: 2 red, 14 green, 3 blue; 3 blue, 3 green, 4 red; 8 blue, 4 red, 1 green; 8 green, 3 blue; 10 blue, 1 red, 11 green; 13 green, 2 red, 3 blue
|
||||
Game 32: 8 blue, 16 red; 2 green, 8 blue, 16 red; 16 blue, 4 green, 17 red; 2 red, 5 green, 4 blue
|
||||
Game 33: 2 red, 2 green, 1 blue; 5 red, 1 blue; 8 green, 14 red
|
||||
Game 34: 4 red, 4 green; 9 green; 1 blue, 16 green; 1 blue, 5 red, 9 green; 2 red, 15 green, 1 blue
|
||||
Game 35: 1 green, 5 red; 1 green, 15 red, 13 blue; 2 red, 13 blue, 17 green; 9 blue, 3 red, 11 green; 7 green, 8 blue, 14 red
|
||||
Game 36: 19 green; 3 green, 1 blue, 1 red; 1 green, 8 blue; 13 green, 5 red, 5 blue
|
||||
Game 37: 12 red, 7 green, 3 blue; 12 blue, 10 red, 9 green; 17 green, 8 red, 13 blue; 9 blue, 9 green, 8 red; 4 red, 13 green, 13 blue; 15 green, 12 red, 14 blue
|
||||
Game 38: 5 blue, 1 green, 20 red; 1 green, 13 red, 18 blue; 17 blue, 9 red, 10 green; 4 blue, 4 red, 12 green; 12 blue, 12 red, 6 green; 12 green, 13 red, 2 blue
|
||||
Game 39: 7 blue, 6 red, 2 green; 6 blue, 1 red; 7 blue, 1 red
|
||||
Game 40: 1 blue, 3 red; 15 blue, 1 green; 1 green, 16 red, 2 blue
|
||||
Game 41: 2 blue, 4 green; 8 green, 3 red; 2 blue, 9 red, 4 green; 4 red, 3 blue, 10 green; 5 green, 3 blue, 2 red
|
||||
Game 42: 7 green, 2 blue, 1 red; 8 green, 4 red; 5 blue, 1 red, 3 green
|
||||
Game 43: 3 red, 1 blue; 1 blue, 2 green, 2 red; 1 red, 2 blue; 3 blue
|
||||
Game 44: 3 green, 14 blue, 1 red; 16 blue, 5 red, 11 green; 12 green, 1 blue; 13 blue, 1 red; 5 blue, 2 red, 6 green; 3 blue, 5 red, 11 green
|
||||
Game 45: 7 blue, 1 red; 1 red, 3 blue; 3 green, 14 blue, 1 red; 4 blue, 3 green, 1 red; 15 blue, 1 red, 3 green
|
||||
Game 46: 15 red, 4 blue; 15 red, 11 blue, 3 green; 14 red, 2 green, 2 blue; 14 red, 8 blue, 3 green; 4 red, 1 blue
|
||||
Game 47: 4 green, 2 blue, 3 red; 8 red, 2 green, 18 blue; 1 green, 17 blue, 1 red
|
||||
Game 48: 2 green, 4 red, 2 blue; 15 blue, 16 red, 5 green; 14 blue, 2 green, 10 red; 3 green, 13 red, 6 blue; 8 green, 4 red, 12 blue; 15 red, 3 green, 9 blue
|
||||
Game 49: 1 green, 6 red, 7 blue; 1 blue, 9 green, 9 red; 4 green, 8 red; 9 blue, 1 red, 14 green; 2 blue, 9 red
|
||||
Game 50: 3 red, 10 blue, 14 green; 2 red, 9 blue, 7 green; 4 blue, 12 green; 1 red, 4 green, 5 blue
|
||||
Game 51: 2 green, 6 blue; 1 green, 10 blue, 1 red; 3 blue, 2 green
|
||||
Game 52: 1 green, 4 red, 1 blue; 3 red, 5 green, 4 blue; 1 blue, 3 red, 5 green; 1 red, 1 green, 1 blue; 12 green, 2 red, 4 blue; 10 blue, 7 green, 1 red
|
||||
Game 53: 12 red, 1 blue; 8 red, 11 blue, 11 green; 8 red, 6 blue, 13 green; 11 blue, 11 red, 16 green; 6 red, 9 green, 4 blue
|
||||
Game 54: 2 red, 8 blue, 15 green; 4 green, 3 blue, 6 red; 12 green, 13 blue, 4 red
|
||||
Game 55: 1 green, 16 blue, 4 red; 3 red, 1 blue, 1 green; 12 red, 16 blue; 3 red
|
||||
Game 56: 4 green; 1 red, 4 green; 2 red, 3 blue, 7 green; 2 red, 3 blue, 15 green
|
||||
Game 57: 17 green; 1 green, 9 blue; 1 red, 1 green, 9 blue
|
||||
Game 58: 3 green, 8 red, 7 blue; 4 green, 9 blue, 2 red; 1 red, 2 green, 11 blue; 8 blue, 4 green
|
||||
Game 59: 6 green, 1 red; 4 blue, 6 green; 4 green, 5 blue
|
||||
Game 60: 3 green, 5 blue, 1 red; 7 green, 5 blue, 16 red; 14 red, 1 green, 1 blue; 7 green, 2 blue; 13 red, 5 green, 5 blue
|
||||
Game 61: 1 green, 2 blue, 2 red; 2 green; 6 red, 1 blue, 1 green
|
||||
Game 62: 5 red, 8 blue, 1 green; 1 red, 1 blue; 2 green, 8 blue
|
||||
Game 63: 2 red, 2 blue, 2 green; 9 blue, 7 green; 1 green, 4 blue; 18 green, 3 blue
|
||||
Game 64: 13 green, 1 blue, 6 red; 13 green, 15 red, 8 blue; 5 green, 14 red, 4 blue; 2 green, 8 blue, 12 red; 1 blue, 5 red, 13 green; 7 blue, 8 green, 2 red
|
||||
Game 65: 7 blue, 12 red, 6 green; 11 red, 8 green, 8 blue; 9 red, 7 green, 7 blue; 14 red, 2 blue, 17 green
|
||||
Game 66: 2 green, 5 red; 7 red, 14 blue; 19 blue, 2 green; 7 blue, 4 green, 6 red
|
||||
Game 67: 4 green, 17 red, 7 blue; 4 blue, 6 green; 7 green, 7 red, 12 blue; 2 red, 14 blue
|
||||
Game 68: 1 red, 11 green, 4 blue; 17 blue, 1 red, 10 green; 3 red, 7 green, 1 blue; 7 green, 3 red, 6 blue; 2 red, 3 green; 2 green, 2 red, 4 blue
|
||||
Game 69: 5 blue, 4 red; 3 red, 11 green, 1 blue; 6 green, 2 blue; 10 green, 4 red, 5 blue; 2 red, 11 green
|
||||
Game 70: 16 red, 7 blue, 1 green; 14 red, 1 blue, 4 green; 4 red, 4 green; 7 blue, 5 red, 2 green
|
||||
Game 71: 14 red, 2 blue, 13 green; 7 green, 5 red, 2 blue; 3 blue, 9 green, 11 red; 10 red, 4 blue, 1 green
|
||||
Game 72: 1 green, 2 red, 6 blue; 4 green, 4 red, 9 blue; 6 green, 8 blue, 1 red; 5 red, 4 green, 9 blue; 15 blue, 2 green, 7 red; 10 blue, 2 green, 10 red
|
||||
Game 73: 7 green, 6 red, 7 blue; 6 blue, 5 red, 8 green; 5 blue, 5 red
|
||||
Game 74: 11 red, 1 blue; 2 green, 4 blue, 1 red; 1 green, 2 blue, 11 red; 9 red, 5 blue; 15 red, 10 blue; 9 red, 3 blue
|
||||
Game 75: 1 blue, 6 red, 9 green; 5 red, 1 blue, 8 green; 2 green, 2 red, 1 blue; 7 red, 1 green; 3 green, 6 red, 2 blue; 1 green, 1 red
|
||||
Game 76: 16 red, 3 blue, 9 green; 4 blue, 4 green; 5 blue, 1 green, 10 red; 6 blue, 13 red; 1 blue, 2 green, 8 red
|
||||
Game 77: 4 red, 4 blue; 5 blue, 5 red; 6 red, 3 green
|
||||
Game 78: 11 green, 1 red; 1 blue, 18 green, 1 red; 6 green, 5 red, 2 blue; 6 red, 1 blue, 15 green; 5 green, 5 red
|
||||
Game 79: 2 red, 3 green, 13 blue; 7 blue, 5 green; 4 blue, 2 red, 6 green; 6 green, 15 blue
|
||||
Game 80: 9 green, 2 blue, 1 red; 8 green, 1 red; 1 blue, 7 green; 2 green, 1 blue; 3 green; 5 green, 1 red, 2 blue
|
||||
Game 81: 2 blue, 8 green, 1 red; 3 green, 1 blue; 6 blue, 1 green; 3 blue, 3 green, 1 red; 2 green, 8 blue; 1 red, 8 blue, 2 green
|
||||
Game 82: 5 blue, 4 red, 1 green; 9 red, 12 green, 8 blue; 9 red, 6 green, 15 blue; 8 blue, 10 red, 6 green
|
||||
Game 83: 2 green, 7 blue, 4 red; 2 blue, 11 red, 9 green; 7 red, 7 green, 6 blue; 12 blue, 4 red, 11 green; 11 green, 7 blue; 7 green, 5 red, 2 blue
|
||||
Game 84: 9 red, 1 blue, 7 green; 5 red, 5 green; 4 green, 4 blue; 4 green, 5 red
|
||||
Game 85: 5 green, 13 red, 11 blue; 5 blue, 19 green, 15 red; 17 red, 3 green, 8 blue; 13 green, 10 red; 3 green, 17 red, 11 blue
|
||||
Game 86: 1 green, 11 blue; 11 blue, 1 green, 8 red; 6 blue, 4 red; 4 blue, 17 red; 1 green, 15 red
|
||||
Game 87: 3 green, 8 red, 6 blue; 6 red, 13 green, 1 blue; 4 blue, 8 red, 8 green
|
||||
Game 88: 5 green, 5 blue; 3 green, 10 blue, 2 red; 6 blue, 7 red, 1 green; 5 green, 3 red, 11 blue; 8 red, 4 green, 6 blue
|
||||
Game 89: 5 green, 10 blue, 12 red; 1 green, 13 red, 8 blue; 4 red, 11 green, 12 blue
|
||||
Game 90: 4 green, 3 red, 11 blue; 1 green, 12 red, 12 blue; 9 blue, 5 red, 1 green; 2 green, 12 blue, 12 red
|
||||
Game 91: 5 red, 8 blue, 1 green; 5 green, 3 blue; 9 blue, 7 green, 5 red; 1 green, 3 blue, 6 red; 9 blue, 11 green, 4 red; 2 green, 4 red, 10 blue
|
||||
Game 92: 11 blue, 1 red, 6 green; 10 blue, 2 red; 4 red, 6 green, 19 blue
|
||||
Game 93: 1 green, 3 blue, 3 red; 3 red; 5 blue, 3 red; 1 green, 4 red
|
||||
Game 94: 9 red, 4 blue, 4 green; 1 blue, 6 red, 15 green; 10 red, 5 blue, 1 green; 2 blue, 4 green, 8 red
|
||||
Game 95: 13 blue, 4 green, 3 red; 15 green, 3 red, 2 blue; 16 green, 8 blue, 2 red
|
||||
Game 96: 15 blue, 7 green, 3 red; 5 red, 7 green, 17 blue; 6 red, 12 blue; 5 green, 10 blue, 4 red
|
||||
Game 97: 5 red, 2 green; 8 red; 1 blue, 7 green, 2 red; 7 red, 15 green
|
||||
Game 98: 6 green, 1 blue, 1 red; 3 green, 3 red; 1 blue, 13 green, 4 red
|
||||
Game 99: 16 red, 5 blue, 9 green; 2 green, 7 blue, 2 red; 10 blue, 3 green; 9 red, 8 blue, 13 green; 16 green, 13 red, 10 blue
|
||||
Game 100: 16 blue, 12 red, 3 green; 2 green, 7 blue; 5 blue, 4 green; 10 blue, 6 red, 6 green; 5 red, 12 blue, 2 green; 9 red, 12 blue, 11 green
|
||||
100
d2/d2.structured-input
Normal file
100
d2/d2.structured-input
Normal file
@@ -0,0 +1,100 @@
|
||||
001: 1r/3b/11g/1b/5r/3b/5b/13r/6r/1b/4g/16r/12g/
|
||||
002: 3r/13b/5g/14b/14b/9b/10b/3r/2b/5b/11b/3b/3r/16b/2r/9g/
|
||||
003: 17b/5r/3r/11b/17b/1r/6b/9g/3b/11b/1r/3b/10r/11b/12r/3b/15b/
|
||||
004: 14b/14r/1b/15r/13b/1b/6b/15r/7g/
|
||||
005: 3b/1b/3r/6r/2b/2b/12r/3b/1b/2b/9r/1b/2b/10r/
|
||||
006: 5b/5g/4b/1r/10g/16b/1r/6b/1r/1b/13g/1r/5b/7g/14b/17b/
|
||||
007: 1b/8b/4r/1b/4b/4r/6b/4r/4g/1r/8g/
|
||||
008: 2r/5b/1g/1b/4r/8g/6b/12b/6r/3b/5r/8r/2b/13g/5b/4r/3b/
|
||||
009: 11r/1b/2r/2b/1b/2b/9r/4r/2b/2b/1b/2g/1b/9r/2g/
|
||||
010: 9r/4g/1b/3r/7g/3b/1r/1b/7b/4r/1b/1b/5b/10r/1r/5g/
|
||||
011: 2b/4r/3g/1b/7r/4b/7r/1b/3b/6b/4r/3r/1b/3b/
|
||||
012: 1b/6r/5b/3b/2r/4b/3b/1r/3b/
|
||||
013: 6b/1r/9b/11r/4b/12g/6b/9r/19b/2b/6b/10b/1r/16b/4b/14b/
|
||||
014: 7b/2r/1b/2r/19b/12b/6b/11r/
|
||||
015: 4r/4b/7b/15b/1b/8r/2r/10b/11b/5r/4b/6g/9r/8b/3g/9b/9r/
|
||||
016: 7r/2b/19g/6b/9g/8b/6r/19b/11b/7r/1b/9b/3r/17g/
|
||||
017: 3b/4b/5r/2r/4b/11b/6b/13g/3b/12b/7r/
|
||||
018: 9r/6b/7g/3b/3b/5r/18r/6b/4g/3b/10r/8b/
|
||||
019: 3r/6g/1r/5b/4b/3r/14b/
|
||||
020: 2b/2b/4r/14r/6b/5g/1b/5r/3g/10r/6b/6b/
|
||||
021: 10b/12b/3r/1b/14r/5b/7g/12b/1r/13g/7r/4g/
|
||||
022: 2r/1b/1r/2b/1r/1b/3b/3b/1r/1b/2r/
|
||||
023: 4b/4b/1r/3b/1r/6g/1r/1b/
|
||||
024: 5b/15b/13r/20b/13b/6r/5b/11r/16g/6r/5b/13g/12b/13b/3r/
|
||||
025: 10b/17r/12r/16b/3g/4b/12b/10r/8b/3b/10r/5b/2r/12b/
|
||||
026: 11r/9b/3b/3r/3g/10b/3b/4r/1b/4b/9r/5b/1r/7b/1r/3b/3g/
|
||||
027: 1b/12r/4b/5r/2b/1b/3b/6b/10r/1b/4r/3b/
|
||||
028: 6b/2g/2b/8b/1r/2b/2b/6b/8g/9b/5b/
|
||||
029: 1b/9b/9r/13b/4r/9b/3b/8b/15r/15b/18b/3r/16b/10r/16b/12b/16r/
|
||||
030: 14b/4b/1r/7r/14b/2b/4r/1g/
|
||||
031: 2r/14b/3b/3b/3b/4r/8b/4r/1g/8b/3b/10b/1r/11g/13b/2r/3b/
|
||||
032: 8b/16r/2b/8b/16r/16b/4b/17r/2r/5b/4b/
|
||||
033: 2r/2b/1b/5r/1b/8b/14r/
|
||||
034: 4r/4g/9g/1b/16g/1b/5r/9g/2r/15b/1b/
|
||||
035: 1b/5r/1b/15r/13b/2r/13b/17g/9b/3r/11g/7b/8b/14r/
|
||||
036: 19g/3b/1b/1r/1b/8b/13b/5r/5b/
|
||||
037: 12r/7b/3b/12b/10r/9g/17b/8r/13b/9b/9b/8r/4r/13b/13b/15b/12r/14b/
|
||||
038: 5b/1b/20r/1b/13r/18b/17b/9r/10g/4b/4r/12g/12b/12r/6g/12b/13r/2b/
|
||||
039: 7b/6r/2g/6b/1r/7b/1r/
|
||||
040: 1b/3r/15b/1g/1b/16r/2b/
|
||||
041: 2b/4g/8b/3r/2b/9r/4g/4r/3b/10g/5b/3b/2r/
|
||||
042: 7b/2b/1r/8b/4r/5b/1r/3g/
|
||||
043: 3r/1b/1b/2b/2r/1r/2b/3b/
|
||||
044: 3b/14b/1r/16b/5r/11g/12b/1b/13b/1r/5b/2r/6g/3b/5r/11g/
|
||||
045: 7b/1r/1r/3b/3b/14b/1r/4b/3b/1r/15b/1r/3g/
|
||||
046: 15r/4b/15r/11b/3g/14r/2b/2b/14r/8b/3g/4r/1b/
|
||||
047: 4b/2b/3r/8r/2b/18b/1b/17b/1r/
|
||||
048: 2b/4r/2b/15b/16r/5g/14b/2b/10r/3b/13r/6b/8b/4r/12b/15r/3b/9b/
|
||||
049: 1b/6r/7b/1b/9b/9r/4b/8r/9b/1r/14g/2b/9r/
|
||||
050: 3r/10b/14g/2r/9b/7g/4b/12g/1r/4b/5b/
|
||||
051: 2b/6b/1b/10b/1r/3b/2g/
|
||||
052: 1b/4r/1b/3r/5b/4b/1b/3r/5g/1r/1b/1b/12b/2r/4b/10b/7b/1r/
|
||||
053: 12r/1b/8r/11b/11g/8r/6b/13g/11b/11r/16g/6r/9b/4b/
|
||||
054: 2r/8b/15g/4b/3b/6r/12b/13b/4r/
|
||||
055: 1b/16b/4r/3r/1b/1g/12r/16b/3r/
|
||||
056: 4g/1r/4g/2r/3b/7g/2r/3b/15g/
|
||||
057: 17g/1b/9b/1r/1b/9b/
|
||||
058: 3b/8r/7b/4b/9b/2r/1r/2b/11b/8b/4g/
|
||||
059: 6b/1r/4b/6g/4b/5b/
|
||||
060: 3b/5b/1r/7b/5b/16r/14r/1b/1b/7b/2b/13r/5b/5b/
|
||||
061: 1b/2b/2r/2g/6r/1b/1g/
|
||||
062: 5r/8b/1g/1r/1b/2b/8b/
|
||||
063: 2r/2b/2g/9b/7g/1b/4b/18b/3b/
|
||||
064: 13b/1b/6r/13b/15r/8b/5b/14r/4b/2b/8b/12r/1b/5r/13g/7b/8b/2r/
|
||||
065: 7b/12r/6g/11r/8b/8b/9r/7b/7b/14r/2b/17g/
|
||||
066: 2b/5r/7r/14b/19b/2g/7b/4b/6r/
|
||||
067: 4b/17r/7b/4b/6g/7b/7r/12b/2r/14b/
|
||||
068: 1r/11b/4b/17b/1r/10g/3r/7b/1b/7b/3r/6b/2r/3g/2b/2r/4b/
|
||||
069: 5b/4r/3r/11b/1b/6b/2b/10b/4r/5b/2r/11g/
|
||||
070: 16r/7b/1g/14r/1b/4g/4r/4g/7b/5r/2g/
|
||||
071: 14r/2b/13g/7b/5r/2b/3b/9b/11r/10r/4b/1g/
|
||||
072: 1b/2r/6b/4b/4r/9b/6b/8b/1r/5r/4b/9b/15b/2b/7r/10b/2b/10r/
|
||||
073: 7b/6r/7b/6b/5r/8g/5b/5r/
|
||||
074: 11r/1b/2b/4b/1r/1b/2b/11r/9r/5b/15r/10b/9r/3b/
|
||||
075: 1b/6r/9g/5r/1b/8g/2b/2r/1b/7r/1g/3b/6r/2b/1b/1r/
|
||||
076: 16r/3b/9g/4b/4g/5b/1b/10r/6b/13r/1b/2b/8r/
|
||||
077: 4r/4b/5b/5r/6r/3g/
|
||||
078: 11b/1r/1b/18b/1r/6b/5r/2b/6r/1b/15g/5b/5r/
|
||||
079: 2r/3b/13b/7b/5g/4b/2r/6g/6b/15b/
|
||||
080: 9b/2b/1r/8b/1r/1b/7g/2b/1b/3g/5b/1r/2b/
|
||||
081: 2b/8b/1r/3b/1b/6b/1g/3b/3b/1r/2b/8b/1r/8b/2g/
|
||||
082: 5b/4r/1g/9r/12b/8b/9r/6b/15b/8b/10r/6g/
|
||||
083: 2b/7b/4r/2b/11r/9g/7r/7b/6b/12b/4r/11g/11b/7b/7b/5r/2b/
|
||||
084: 9r/1b/7g/5r/5g/4b/4b/4b/5r/
|
||||
085: 5b/13r/11b/5b/19b/15r/17r/3b/8b/13b/10r/3b/17r/11b/
|
||||
086: 1b/11b/11b/1b/8r/6b/4r/4b/17r/1b/15r/
|
||||
087: 3b/8r/6b/6r/13b/1b/4b/8r/8g/
|
||||
088: 5b/5b/3b/10b/2r/6b/7r/1g/5b/3r/11b/8r/4b/6b/
|
||||
089: 5b/10b/12r/1b/13r/8b/4r/11b/12b/
|
||||
090: 4b/3r/11b/1b/12r/12b/9b/5r/1g/2b/12b/12r/
|
||||
091: 5r/8b/1g/5b/3b/9b/7b/5r/1b/3b/6r/9b/11b/4r/2b/4r/10b/
|
||||
092: 11b/1r/6g/10b/2r/4r/6b/19b/
|
||||
093: 1b/3b/3r/3r/5b/3r/1b/4r/
|
||||
094: 9r/4b/4g/1b/6r/15g/10r/5b/1g/2b/4b/8r/
|
||||
095: 13b/4b/3r/15b/3r/2b/16b/8b/2r/
|
||||
096: 15b/7b/3r/5r/7b/17b/6r/12b/5b/10b/4r/
|
||||
097: 5r/2g/8r/1b/7b/2r/7r/15g/
|
||||
098: 6b/1b/1r/3b/3r/1b/13b/4r/
|
||||
099: 16r/5b/9g/2b/7b/2r/10b/3g/9r/8b/13g/16b/13r/10b/
|
||||
100: 16b/12r/3g/2b/7b/5b/4g/10b/6r/6g/5r/12b/2g/9r/12b/11g/
|
||||
33
d2/d2.test.input
Normal file
33
d2/d2.test.input
Normal file
@@ -0,0 +1,33 @@
|
||||
Game 1:
|
||||
3 blue, 4 red;
|
||||
1 red, 2 green, 6 blue;
|
||||
2 green
|
||||
|
||||
Game 2:
|
||||
1 blue, 2 green;
|
||||
3 green, 4 blue, 1 red;
|
||||
1 green, 1 blue
|
||||
|
||||
Game 3:
|
||||
8 green, 6 blue, 20 red;
|
||||
5 blue, 4 red, 13 green;
|
||||
5 green, 1 red
|
||||
|
||||
Game 4:
|
||||
1 green, 3 red, 6 blue;
|
||||
3 green, 6 red;
|
||||
3 green, 15 blue, 14 red
|
||||
|
||||
Game 5:
|
||||
6 red, 1 blue, 3 green;
|
||||
2 blue, 1 red, 2 green
|
||||
|
||||
|
||||
982
|
||||
|
||||
0 * 10 = 0
|
||||
0 + 9 = 9
|
||||
9 * 10 = 90
|
||||
90 + 8 = 98
|
||||
98 * 10 = 980
|
||||
980 + 2 = 982
|
||||
5
d2/d2.test.structured-input
Normal file
5
d2/d2.test.structured-input
Normal file
@@ -0,0 +1,5 @@
|
||||
1: 4/3/1; 1/2/6; 0/2/0;
|
||||
2: 0/2/1; 1/3/4; 0/1/1;
|
||||
3: 20/8/6; 4/13/5; 1/5/0;
|
||||
4: 3/1/6; 6/3/0; 14/3/15;
|
||||
5: 6/3/1; 1/2/2;
|
||||
102
d2/main.odin
Normal file
102
d2/main.odin
Normal file
@@ -0,0 +1,102 @@
|
||||
package d2;
|
||||
|
||||
import "core:os"
|
||||
import "core:fmt"
|
||||
|
||||
die :: proc (eno: os.Errno) {
|
||||
fmt.printf("Fatal error: %s\n", os.get_last_error_string());
|
||||
os.exit(int(eno));
|
||||
}
|
||||
|
||||
usage :: proc() {
|
||||
fmt.printf("Usage: ./%s FILENAME\n", os.args[0]);
|
||||
}
|
||||
|
||||
BUFFER_SIZE :: 1024;
|
||||
State :: enum {
|
||||
NONE, READ_ID, READ_RESULT, READ_DELIM, READ_COLON, READ_NEWLINE
|
||||
}
|
||||
Result :: struct{
|
||||
red: int, green: int, blue: int,
|
||||
};
|
||||
TARGET_GAME :: Result{12, 13, 14};
|
||||
games: [dynamic]Result = make([dynamic]Result);
|
||||
stack: [dynamic]State = make([dynamic]State);
|
||||
|
||||
collect_digits :: proc(buffer: []u8, index: ^int) -> int {
|
||||
assert(index^ < len(buffer));
|
||||
result := 0
|
||||
for '0' <= buffer[index^] && buffer[index^] <= '9' && index^ < len(buffer) {
|
||||
result *= 10;
|
||||
result += int(buffer[index^] - '0');
|
||||
index^ += 1;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
consume_token :: proc(token: string, buffer: []u8, index: ^int) -> bool {
|
||||
bi := index^;
|
||||
ti := 0;
|
||||
for ti < len(token) {
|
||||
if bi >= len(buffer) || buffer[bi] != token[ti] {
|
||||
return false;
|
||||
} else {
|
||||
ti += 1; bi += 1;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
attempt_1 :: proc() {
|
||||
if len(os.args) < 2 {
|
||||
usage();
|
||||
os.exit(-1);
|
||||
}
|
||||
fh, eno := os.open(os.args[1], os.O_RDONLY);
|
||||
if eno != os.ERROR_NONE { die(eno); }
|
||||
defer os.close(fh);
|
||||
id := -1;
|
||||
red, green, blue, num_read: int;
|
||||
state := State.READ_ID;
|
||||
total := 0;
|
||||
buffer, ok := os.read_entire_file_from_handle(fh);
|
||||
if !ok {
|
||||
// die(os.get_last_error());
|
||||
// TODO
|
||||
os.exit(-1);
|
||||
}
|
||||
ix := 0;
|
||||
for ix < len(buffer) {
|
||||
if eno != os.ERROR_NONE { die(eno); }
|
||||
switch pop(&stack) {
|
||||
case .READ_ID:
|
||||
id = collect_digits(buffer, &ix);
|
||||
append(&stack, State.READ_RESULT);
|
||||
append(&stack, State.READ_DELIM);
|
||||
append(&stack, State.READ_COLON);
|
||||
case .READ_COLON:
|
||||
if !consume_token(":", buffer, &ix) {
|
||||
// TODO
|
||||
os.exit(-1);
|
||||
}
|
||||
case .READ_DELIM:
|
||||
for ix < len(buffer) && buffer[ix] == ' ' {
|
||||
ix += 1;
|
||||
}
|
||||
case .READ_NEWLINE:
|
||||
if !consume_token("\n", buffer, &ix) {
|
||||
// TODO
|
||||
os.exit(-1);
|
||||
}
|
||||
case .READ_RESULT:
|
||||
append(&stack, State.READ_ID);
|
||||
append(&stack, State.READ_NEWLINE);
|
||||
case .NONE:
|
||||
os.exit(-1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
main :: proc() {
|
||||
attempt_1();
|
||||
}
|
||||
Reference in New Issue
Block a user