cem 0.1.2 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/README.md +6 -18
  4. data/cem.gemspec +4 -3
  5. data/examples/aoc2018/.gitignore +2 -0
  6. data/examples/aoc2018/day1.rb +13 -0
  7. data/examples/aoc2018/day10.rb +61 -0
  8. data/examples/aoc2018/day11.rb +66 -0
  9. data/examples/aoc2018/day12.rb +61 -0
  10. data/examples/aoc2018/day13.rb +167 -0
  11. data/examples/aoc2018/day14.rb +31 -0
  12. data/examples/aoc2018/day14_2.rb +71 -0
  13. data/examples/aoc2018/day15.rb +271 -0
  14. data/examples/aoc2018/day16.rb +158 -0
  15. data/examples/aoc2018/day17.rb +203 -0
  16. data/examples/aoc2018/day18.rb +113 -0
  17. data/examples/aoc2018/day18_rspec.rb +131 -0
  18. data/examples/aoc2018/day19.rb +145 -0
  19. data/examples/aoc2018/day1_part2.rb +30 -0
  20. data/examples/aoc2018/day2.rb +20 -0
  21. data/examples/aoc2018/day20.rb +103 -0
  22. data/examples/aoc2018/day21.rb +158 -0
  23. data/examples/aoc2018/day21_v2.rb +137 -0
  24. data/examples/aoc2018/day21_v3.rb +157 -0
  25. data/examples/aoc2018/day21_v4.rb +141 -0
  26. data/examples/aoc2018/day22.rb +212 -0
  27. data/examples/aoc2018/day23.rb +148 -0
  28. data/examples/aoc2018/day24.rb +156 -0
  29. data/examples/aoc2018/day25.rb +52 -0
  30. data/examples/aoc2018/day2_2.rb +27 -0
  31. data/examples/aoc2018/day3.rb +71 -0
  32. data/examples/aoc2018/day4.rb +46 -0
  33. data/examples/aoc2018/day5.rb +23 -0
  34. data/examples/aoc2018/day5_part2.rb +29 -0
  35. data/examples/aoc2018/day6.rb +53 -0
  36. data/examples/aoc2018/day7.rb +110 -0
  37. data/examples/aoc2018/day8.rb +39 -0
  38. data/examples/aoc2018/day8_part2.rb +65 -0
  39. data/examples/aoc2018/day9.rb +51 -0
  40. data/examples/aoc2018/day9_circular.rb +125 -0
  41. data/examples/aoc2018/inputs/day10_input.txt +395 -0
  42. data/examples/aoc2018/inputs/day11_input.txt +1 -0
  43. data/examples/aoc2018/inputs/day12_input.txt +34 -0
  44. data/examples/aoc2018/inputs/day12_input2.txt +16 -0
  45. data/examples/aoc2018/inputs/day13_input.txt +150 -0
  46. data/examples/aoc2018/inputs/day13_test.txt +6 -0
  47. data/examples/aoc2018/inputs/day14_input.txt +1 -0
  48. data/examples/aoc2018/inputs/day15_input.txt +32 -0
  49. data/examples/aoc2018/inputs/day15_input10.txt +32 -0
  50. data/examples/aoc2018/inputs/day15_input11.txt +32 -0
  51. data/examples/aoc2018/inputs/day15_input12.txt +32 -0
  52. data/examples/aoc2018/inputs/day15_input13.txt +32 -0
  53. data/examples/aoc2018/inputs/day15_input14.txt +32 -0
  54. data/examples/aoc2018/inputs/day15_input2.txt +7 -0
  55. data/examples/aoc2018/inputs/day15_input3.txt +9 -0
  56. data/examples/aoc2018/inputs/day15_input4.txt +7 -0
  57. data/examples/aoc2018/inputs/day15_input5.txt +7 -0
  58. data/examples/aoc2018/inputs/day15_input6.txt +7 -0
  59. data/examples/aoc2018/inputs/day15_input7.txt +7 -0
  60. data/examples/aoc2018/inputs/day15_input8.txt +5 -0
  61. data/examples/aoc2018/inputs/day15_input9.txt +7 -0
  62. data/examples/aoc2018/inputs/day15_test.txt +9 -0
  63. data/examples/aoc2018/inputs/day16_input.txt +3865 -0
  64. data/examples/aoc2018/inputs/day17_input.txt +2229 -0
  65. data/examples/aoc2018/inputs/day17_input_test.txt +8 -0
  66. data/examples/aoc2018/inputs/day18_input.txt +50 -0
  67. data/examples/aoc2018/inputs/day18_test.txt +10 -0
  68. data/examples/aoc2018/inputs/day19_input.txt +48 -0
  69. data/examples/aoc2018/inputs/day1_input.txt +955 -0
  70. data/examples/aoc2018/inputs/day20_input.txt +1 -0
  71. data/examples/aoc2018/inputs/day21_input.txt +32 -0
  72. data/examples/aoc2018/inputs/day22_input.txt +2 -0
  73. data/examples/aoc2018/inputs/day23_input.txt +1000 -0
  74. data/examples/aoc2018/inputs/day23_input2.txt +9 -0
  75. data/examples/aoc2018/inputs/day24_input.txt +24 -0
  76. data/examples/aoc2018/inputs/day25_input.txt +1483 -0
  77. data/examples/aoc2018/inputs/day2_input.txt +250 -0
  78. data/examples/aoc2018/inputs/day3_input.txt +1233 -0
  79. data/examples/aoc2018/inputs/day4_input.txt +1140 -0
  80. data/examples/aoc2018/inputs/day5_input.txt +1 -0
  81. data/examples/aoc2018/inputs/day6_input.txt +50 -0
  82. data/examples/aoc2018/inputs/day7_input.txt +101 -0
  83. data/examples/aoc2018/inputs/day8_input.txt +1 -0
  84. data/examples/aoc2018/inputs/day9_input.txt +1 -0
  85. data/lib/cem/ccommon.rb +51 -6
  86. data/lib/cem/cflame/popen.rb +89 -0
  87. data/lib/cem/cflame.rb +2 -0
  88. data/lib/cem/cruzzles.rb +198 -50
  89. data/lib/cem/version.rb +1 -1
  90. data/lib/cem.rb +0 -6
  91. metadata +88 -22
@@ -0,0 +1,8 @@
1
+ x=495, y=2..7
2
+ y=7, x=495..501
3
+ x=501, y=3..7
4
+ x=498, y=2..4
5
+ x=506, y=1..2
6
+ x=498, y=10..13
7
+ x=504, y=10..13
8
+ y=13, x=498..504
@@ -0,0 +1,50 @@
1
+ .|....|.##.#..|.#....|.#...#..#.#..|.|........#|#|
2
+ #....#...|..|#|....#.......#||#...#..|...###...#.#
3
+ ......|#.|#....#...|...##|...|..#|#...#..#...#....
4
+ ....|....|....#||...|.....|....|.|.#...##...|#.||#
5
+ ...||..||.||..|...|.#.#.|##||...|#..|||.#|.|..|.|#
6
+ ||..#.|...#..#.....|..#...|.#.#..#.#......||.|.#..
7
+ ...||##..#|....#|||#|.|.#..|.|.....|.#.#.||#|....#
8
+ ##..........|###..||...#....|##..#|...|||.....#|.#
9
+ .##|...|#.|..|......#...||##.#....|..#.....#..##..
10
+ .|..|#|...|#.#..|###.|..##.#...|........|.#.|..#..
11
+ .##....#|.......|..||##..|..|.|##|.#|....#|....|..
12
+ ..#|#..|.......||.|..#..|..#..##..||.......###..|#
13
+ ...##..|..#|....|....#.||..|..#.#....#|..#.#...#..
14
+ .#..|...#.|...##.|#.......#|#...#.......|..#....|#
15
+ #.##...|....||.||##||.|...#.#...#.#..|..#...#..#||
16
+ ........||#.#..||.||..|..#.##......||..##.|#..|.|.
17
+ .....|.....#....|...#...#...||.##..|..#.........|.
18
+ .#....|.##....||.....#..||.|..##.||.|..###.....#..
19
+ #...#||||...|...#.|......|.#.###||.##|...|.....#|.
20
+ .....##.#.#...........|##.....#.....#..|...#|#.|#|
21
+ .|###.|.||.|.|#|.|#....|#.|....#||#...#....##..#..
22
+ ...||..#..|.|........||...|..#..#..#..#.|#...||.|.
23
+ ..||..|||.|........#.....|.....|....|.|...||.|#..#
24
+ #.#.###..|||..|#.#|#....#.|..|..........#....||#.|
25
+ .#..#..||||#....#....#|..........#...#.#.##.###|..
26
+ ...#..|.|.||..|..##.|.#.|#....|.#..||..|.#..#|#...
27
+ .#.#.|..|..|#..|.|........|.##..|..##||#.#.|...|.|
28
+ |.....##.|...###||.##||.|#........#.|##.#..#...#|#
29
+ |..##.||##..#.|....||##...#..#....|..............#
30
+ #..#|..#|........|#.#|..#|..|......|..#|.......|..
31
+ |...|.#.#.||..|...|#...#.||#.||......##......##.#|
32
+ .....#|#.#||#.|.|..||#|##.|#|...||.#.#|.#......||#
33
+ ..|.|..#|#...|#..#...|...|#..|.#.|.#.#.#.##.......
34
+ ...|#|.|#.|..|..|....|##|#....#....|......#.||...#
35
+ .|...|..#.||#|#....#...|.....|.|....#|.#....#||##.
36
+ .....#.#...#.|.#|.|.##|||..|.#..|.||#..#...#..#.##
37
+ ..||....#..|..|....##.#|#....|.#.|......|#.|#...##
38
+ #|....|..||..|.......|#...#|....##..|..|||..#...#.
39
+ .#...#....###||..|||...|..##...#|||......##||#.#..
40
+ |.||##.#..||..|||.........#|..|.#.|.|.#.|....|#|#|
41
+ .|..#||..#.|#.#|..|....#.....#|..##|#..#||#.#...##
42
+ ...#||....|....#.....#||.#||..#|.##......|..#.....
43
+ |..|...#|......|||....#...#......##.#.##.....#....
44
+ .....#....|....###......|#||.#.....#.|..#...|....#
45
+ .|.|#...#|..|||....#....#.|#...|.#.#...#...#.|..|.
46
+ .|.|.....#.#.|##.....#...#..|....#.|..|##..#.#....
47
+ .#|..|...#..|...|..#|||.|..#.#..|.||....#.#|...#..
48
+ |.|#|.#.....||####..#.#..#|.##.#|....#||.....|.|.|
49
+ .|...#|.|.||||..#.|....|.....|.|#|#....|.....#..|#
50
+ .#.......|#.#..#...#.#.....#..|.#|.|#.#|...|#|||#.
@@ -0,0 +1,10 @@
1
+ .#.#...|#.
2
+ .....#|##|
3
+ .|..|...#.
4
+ ..|#.....#
5
+ #.#|||#|#|
6
+ ...#.||...
7
+ .|....|...
8
+ ||...#|.#|
9
+ |.||||..|.
10
+ ...#.|..|.
@@ -0,0 +1,48 @@
1
+
2
+ #ip 4
3
+ addi 4 16 4
4
+ seti 1 2 5
5
+ seti 1 1 1
6
+ mulr 5 1 2
7
+ eqrr 2 3 2
8
+ addr 2 4 4
9
+ addi 4 1 4
10
+ addr 5 0 0
11
+ addi 1 1 1
12
+ gtrr 1 3 2
13
+ addr 4 2 4
14
+ seti 2 4 4
15
+ addi 5 1 5
16
+ gtrr 5 3 2
17
+ addr 2 4 4
18
+ seti 1 8 4
19
+ mulr 4 4 4
20
+ addi 3 2 3
21
+ mulr 3 3 3
22
+ mulr 4 3 3
23
+ muli 3 11 3
24
+ addi 2 4 2
25
+ mulr 2 4 2
26
+ addi 2 6 2
27
+ addr 3 2 3
28
+ addr 4 0 4
29
+ seti 0 8 4
30
+ setr 4 1 2
31
+ mulr 2 4 2
32
+ addr 4 2 2
33
+ mulr 4 2 2
34
+ muli 2 14 2
35
+ mulr 2 4 2
36
+ addr 3 2 3
37
+ seti 0 0 0
38
+ seti 0 0 4
39
+
40
+ #
41
+ ##ip 0
42
+ #seti 5 0 1
43
+ #seti 6 0 2
44
+ #addi 0 1 0
45
+ #addr 1 2 3
46
+ #setr 1 0 0
47
+ #seti 8 0 4
48
+ #seti 9 0 5