cem 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,39 @@
1
+ #
2
+ # https://adventofcode.com/2018/day/8 part 1
3
+ #
4
+ # Does not use any cem functions \o/
5
+ #
6
+
7
+ input = File.read("inputs/day8_input.txt").split
8
+
9
+ stack = []
10
+ index = 0
11
+ sum = 0
12
+
13
+ while index < input.size
14
+
15
+ n_children = input[index].to_i
16
+ index += 1
17
+ n_metaData = input[index].to_i
18
+ index += 1
19
+
20
+ # f.subpane("out").replace "#{n_children}, #{n_metaData}"
21
+
22
+ stack << [n_children, n_metaData]
23
+
24
+ while stack.size > 0 && stack.last.first == 0
25
+ stack.last.last.times {
26
+ sum += input[index].to_i
27
+ index += 1
28
+ }
29
+
30
+ stack.pop
31
+ end
32
+
33
+ if stack.size > 0
34
+ stack.last[0] -= 1
35
+ end
36
+
37
+ end
38
+
39
+ puts sum
@@ -0,0 +1,65 @@
1
+ #
2
+ # https://adventofcode.com/2018/day/8 part 2
3
+ #
4
+ # Does not use any cem functions \o/
5
+ #
6
+
7
+ input = File.read("inputs/day8_input.txt").split
8
+
9
+ stack = []
10
+ index = 0
11
+
12
+ while index < input.size
13
+
14
+ n_children = input[index].to_i
15
+ index += 1
16
+ n_metaData = input[index].to_i
17
+ index += 1
18
+
19
+ if n_children == 0
20
+
21
+ metadata = 0
22
+ n_metaData.times {
23
+ metadata += input[index].to_i
24
+ index += 1
25
+ }
26
+
27
+ stack.last[2] << metadata
28
+ stack.last[0] -= 1
29
+
30
+ while stack.last.first == 0
31
+
32
+ metadata = 0
33
+ stack.last[1].times {
34
+ selector = input[index].to_i - 1
35
+ index += 1
36
+
37
+ if selector < stack.last[2].size
38
+ metadata += stack.last[2][selector]
39
+ end
40
+ }
41
+
42
+ stack.pop
43
+
44
+ if stack.size > 0
45
+ stack.last.last << metadata
46
+ else
47
+ puts metadata
48
+ exit
49
+ end
50
+
51
+ end
52
+
53
+ else
54
+
55
+ if stack.size > 0
56
+ stack.last[0] -= 1
57
+ end
58
+ stack << [n_children, n_metaData, []]
59
+
60
+ # puts stack.inspect
61
+
62
+ end
63
+ end
64
+
65
+ puts stack.inspect
@@ -0,0 +1,955 @@
1
+ +3
2
+ +8
3
+ -5
4
+ +15
5
+ +9
6
+ -17
7
+ +11
8
+ -6
9
+ +11
10
+ -14
11
+ -11
12
+ +6
13
+ +9
14
+ -7
15
+ +19
16
+ -17
17
+ -18
18
+ -18
19
+ +13
20
+ +8
21
+ -19
22
+ -17
23
+ +3
24
+ +18
25
+ -7
26
+ -2
27
+ -7
28
+ -20
29
+ +7
30
+ -9
31
+ -3
32
+ -15
33
+ +3
34
+ -11
35
+ -4
36
+ +5
37
+ -19
38
+ +4
39
+ +12
40
+ -6
41
+ +13
42
+ +19
43
+ +17
44
+ -1
45
+ +11
46
+ +8
47
+ +4
48
+ -19
49
+ -8
50
+ -16
51
+ +5
52
+ +9
53
+ -2
54
+ -2
55
+ -14
56
+ -21
57
+ -4
58
+ -12
59
+ +14
60
+ +13
61
+ -3
62
+ -14
63
+ -18
64
+ -16
65
+ -13
66
+ -6
67
+ +14
68
+ +11
69
+ +1
70
+ +16
71
+ +16
72
+ +5
73
+ -11
74
+ -15
75
+ -19
76
+ -11
77
+ -10
78
+ -9
79
+ -16
80
+ +15
81
+ -7
82
+ +5
83
+ +18
84
+ -5
85
+ +6
86
+ -10
87
+ +8
88
+ +14
89
+ -20
90
+ -17
91
+ -17
92
+ +19
93
+ -14
94
+ -8
95
+ -17
96
+ +1
97
+ -19
98
+ -4
99
+ -3
100
+ -8
101
+ +3
102
+ +2
103
+ +19
104
+ +12
105
+ +18
106
+ -14
107
+ +3
108
+ +13
109
+ +4
110
+ -19
111
+ -3
112
+ +6
113
+ +18
114
+ +5
115
+ -1
116
+ +17
117
+ +18
118
+ +12
119
+ -14
120
+ +16
121
+ +16
122
+ -4
123
+ +15
124
+ +17
125
+ +10
126
+ -7
127
+ +8
128
+ -6
129
+ +10
130
+ +8
131
+ +6
132
+ +4
133
+ +17
134
+ -15
135
+ -1
136
+ +12
137
+ +3
138
+ +9
139
+ +10
140
+ +17
141
+ +13
142
+ +18
143
+ -2
144
+ +1
145
+ +7
146
+ +13
147
+ +9
148
+ -6
149
+ +15
150
+ -8
151
+ -18
152
+ +19
153
+ -9
154
+ -19
155
+ -8
156
+ -1
157
+ +17
158
+ +16
159
+ +5
160
+ +18
161
+ +5
162
+ +4
163
+ +7
164
+ +10
165
+ +9
166
+ -3
167
+ -15
168
+ +5
169
+ -16
170
+ +17
171
+ +16
172
+ -19
173
+ -2
174
+ -6
175
+ +19
176
+ -16
177
+ +6
178
+ -2
179
+ -11
180
+ -11
181
+ +1
182
+ -4
183
+ +16
184
+ -6
185
+ -11
186
+ -19
187
+ -20
188
+ +13
189
+ +2
190
+ -3
191
+ -3
192
+ -16
193
+ +11
194
+ +18
195
+ +11
196
+ +4
197
+ -5
198
+ -11
199
+ +17
200
+ +21
201
+ +20
202
+ +10
203
+ -5
204
+ +19
205
+ -9
206
+ -18
207
+ -6
208
+ +20
209
+ +16
210
+ -13
211
+ -18
212
+ +12
213
+ -5
214
+ +17
215
+ +19
216
+ +2
217
+ -10
218
+ +14
219
+ +16
220
+ +1
221
+ +13
222
+ -7
223
+ -4
224
+ +17
225
+ +1
226
+ -13
227
+ -6
228
+ -13
229
+ -1
230
+ +18
231
+ +5
232
+ -19
233
+ -15
234
+ -17
235
+ -5
236
+ +18
237
+ +14
238
+ -13
239
+ +8
240
+ -17
241
+ +20
242
+ +12
243
+ -7
244
+ +3
245
+ +20
246
+ +15
247
+ -9
248
+ -9
249
+ +5
250
+ +7
251
+ +13
252
+ -10
253
+ -8
254
+ -19
255
+ +18
256
+ -12
257
+ -21
258
+ -15
259
+ -12
260
+ -4
261
+ +17
262
+ +2
263
+ -10
264
+ +20
265
+ -2
266
+ -3
267
+ +15
268
+ -16
269
+ -3
270
+ -15
271
+ -17
272
+ -6
273
+ +24
274
+ +6
275
+ +3
276
+ +19
277
+ +10
278
+ -2
279
+ +35
280
+ +21
281
+ +8
282
+ -13
283
+ -13
284
+ +11
285
+ +5
286
+ +15
287
+ +17
288
+ -3
289
+ +15
290
+ +11
291
+ +1
292
+ -18
293
+ -4
294
+ +8
295
+ +9
296
+ -16
297
+ +14
298
+ -13
299
+ +11
300
+ +16
301
+ -1
302
+ -2
303
+ +14
304
+ +15
305
+ +4
306
+ -16
307
+ +8
308
+ -5
309
+ +6
310
+ +9
311
+ -19
312
+ +5
313
+ +7
314
+ +2
315
+ +4
316
+ +10
317
+ -2
318
+ +7
319
+ +5
320
+ -16
321
+ +17
322
+ -3
323
+ +4
324
+ +8
325
+ -6
326
+ +8
327
+ +14
328
+ -8
329
+ -13
330
+ +9
331
+ +7
332
+ +6
333
+ +3
334
+ +5
335
+ -1
336
+ +19
337
+ -20
338
+ -11
339
+ +17
340
+ +18
341
+ +16
342
+ +10
343
+ +2
344
+ -3
345
+ -17
346
+ +11
347
+ +2
348
+ +14
349
+ -1
350
+ -19
351
+ +5
352
+ -2
353
+ -4
354
+ +3
355
+ -7
356
+ -12
357
+ -12
358
+ -15
359
+ +21
360
+ -32
361
+ -25
362
+ -14
363
+ -13
364
+ -14
365
+ -15
366
+ -9
367
+ -13
368
+ +5
369
+ -10
370
+ +3
371
+ -17
372
+ +2
373
+ +19
374
+ -17
375
+ +5
376
+ +19
377
+ -12
378
+ +15
379
+ -19
380
+ -4
381
+ +14
382
+ +14
383
+ +9
384
+ -15
385
+ +4
386
+ +3
387
+ +6
388
+ +14
389
+ +7
390
+ -5
391
+ +19
392
+ +10
393
+ +16
394
+ -17
395
+ -13
396
+ +16
397
+ -35
398
+ -5
399
+ +12
400
+ -18
401
+ +5
402
+ -10
403
+ +9
404
+ +12
405
+ -8
406
+ -34
407
+ -3
408
+ -2
409
+ -30
410
+ -7
411
+ -15
412
+ -6
413
+ -7
414
+ -6
415
+ -4
416
+ +39
417
+ +20
418
+ -3
419
+ -7
420
+ +11
421
+ +7
422
+ -21
423
+ +6
424
+ +9
425
+ -20
426
+ +16
427
+ -13
428
+ -16
429
+ +14
430
+ +5
431
+ +18
432
+ -7
433
+ -4
434
+ -22
435
+ -18
436
+ +17
437
+ +12
438
+ -14
439
+ +6
440
+ +1
441
+ +15
442
+ +21
443
+ +65
444
+ +67
445
+ +19
446
+ +37
447
+ +32
448
+ +5
449
+ +25
450
+ -18
451
+ -11
452
+ +13
453
+ -18
454
+ -1
455
+ -22
456
+ -10
457
+ +1
458
+ +16
459
+ +59
460
+ -11
461
+ +4
462
+ +24
463
+ +4
464
+ +19
465
+ -9
466
+ -5
467
+ -14
468
+ +13
469
+ -12
470
+ +5
471
+ +11
472
+ -10
473
+ -10
474
+ +5
475
+ -28
476
+ -21
477
+ -19
478
+ -49
479
+ -16
480
+ +14
481
+ +5
482
+ +111
483
+ -15
484
+ +9
485
+ +17
486
+ +10
487
+ +17
488
+ -5
489
+ +17
490
+ +12
491
+ +5
492
+ +18
493
+ -19
494
+ +14
495
+ +12
496
+ +21
497
+ -12
498
+ +4
499
+ -14
500
+ -4
501
+ -17
502
+ +16
503
+ +17
504
+ +6
505
+ -12
506
+ -39
507
+ -22
508
+ +18
509
+ -9
510
+ +3
511
+ +13
512
+ -21
513
+ +17
514
+ +16
515
+ -34
516
+ -9
517
+ -31
518
+ +117
519
+ +13
520
+ -2
521
+ +12
522
+ +5
523
+ +3
524
+ -49
525
+ +6
526
+ +38
527
+ +16
528
+ +102
529
+ +4
530
+ +102
531
+ +110
532
+ +98
533
+ +72104
534
+ +14
535
+ +10
536
+ -8
537
+ -1
538
+ +12
539
+ +6
540
+ -5
541
+ +8
542
+ -19
543
+ +14
544
+ +19
545
+ +10
546
+ -13
547
+ +16
548
+ -8
549
+ -12
550
+ -6
551
+ +15
552
+ +16
553
+ +14
554
+ +17
555
+ -3
556
+ +5
557
+ +7
558
+ -13
559
+ -6
560
+ -15
561
+ +10
562
+ +14
563
+ +9
564
+ +16
565
+ -3
566
+ +2
567
+ -12
568
+ -5
569
+ -2
570
+ +8
571
+ -18
572
+ -5
573
+ -19
574
+ +2
575
+ +16
576
+ -15
577
+ +11
578
+ -17
579
+ +7
580
+ +6
581
+ -18
582
+ -7
583
+ -19
584
+ -16
585
+ -9
586
+ -7
587
+ +10
588
+ +10
589
+ +3
590
+ -4
591
+ -17
592
+ -15
593
+ -14
594
+ +18
595
+ +18
596
+ -8
597
+ -7
598
+ -12
599
+ +14
600
+ +10
601
+ -11
602
+ +13
603
+ +18
604
+ +20
605
+ -15
606
+ +22
607
+ +2
608
+ -17
609
+ +16
610
+ -4
611
+ -2
612
+ -6
613
+ -15
614
+ +2
615
+ +16
616
+ -8
617
+ +2
618
+ +2
619
+ +23
620
+ +8
621
+ +1
622
+ +15
623
+ -13
624
+ -19
625
+ +5
626
+ +13
627
+ -12
628
+ -3
629
+ -16
630
+ +35
631
+ +16
632
+ +16
633
+ -19
634
+ -9
635
+ +5
636
+ +19
637
+ +16
638
+ -7
639
+ +18
640
+ +9
641
+ +17
642
+ -2
643
+ -11
644
+ +14
645
+ +13
646
+ -17
647
+ -5
648
+ -4
649
+ +6
650
+ +19
651
+ -8
652
+ -15
653
+ -10
654
+ -2
655
+ -16
656
+ +14
657
+ -11
658
+ +3
659
+ +2
660
+ -6
661
+ -12
662
+ -2
663
+ +16
664
+ +6
665
+ +17
666
+ -20
667
+ -15
668
+ -24
669
+ +8
670
+ +6
671
+ -20
672
+ +18
673
+ +44
674
+ -19
675
+ +10
676
+ +2
677
+ -6
678
+ +9
679
+ +3
680
+ +21
681
+ +12
682
+ -6
683
+ +7
684
+ +10
685
+ -1
686
+ +10
687
+ +6
688
+ +12
689
+ +13
690
+ +2
691
+ -6
692
+ +14
693
+ +5
694
+ +14
695
+ +10
696
+ -9
697
+ +2
698
+ -7
699
+ -12
700
+ -5
701
+ -11
702
+ +10
703
+ -4
704
+ +14
705
+ -6
706
+ +17
707
+ +7
708
+ +1
709
+ -3
710
+ -13
711
+ -16
712
+ +12
713
+ -22
714
+ -3
715
+ -6
716
+ -21
717
+ +3
718
+ +10
719
+ +4
720
+ +11
721
+ -8
722
+ +2
723
+ -13
724
+ +1
725
+ -16
726
+ -10
727
+ +18
728
+ -1
729
+ +17
730
+ +11
731
+ -10
732
+ -4
733
+ +10
734
+ -21
735
+ -12
736
+ -5
737
+ -13
738
+ +25
739
+ -17
740
+ +16
741
+ -20
742
+ -3
743
+ +13
744
+ +2
745
+ +3
746
+ -4
747
+ -20
748
+ +1
749
+ -10
750
+ -9
751
+ -9
752
+ +16
753
+ +5
754
+ +8
755
+ +6
756
+ +14
757
+ +15
758
+ +1
759
+ +1
760
+ +8
761
+ -19
762
+ +17
763
+ +41
764
+ +18
765
+ +6
766
+ -12
767
+ +10
768
+ +11
769
+ -12
770
+ +22
771
+ -1
772
+ +7
773
+ +8
774
+ -4
775
+ -7
776
+ -18
777
+ -13
778
+ +16
779
+ +14
780
+ -9
781
+ +5
782
+ -7
783
+ -11
784
+ -16
785
+ -12
786
+ -19
787
+ -19
788
+ +12
789
+ +2
790
+ +16
791
+ -7
792
+ -1
793
+ +20
794
+ +3
795
+ +6
796
+ -26
797
+ +8
798
+ -4
799
+ +18
800
+ +22
801
+ -7
802
+ +19
803
+ +1
804
+ +1
805
+ +12
806
+ +13
807
+ +11
808
+ +2
809
+ +6
810
+ +6
811
+ -8
812
+ -5
813
+ -7
814
+ +19
815
+ +11
816
+ +1
817
+ -8
818
+ +16
819
+ +12
820
+ +3
821
+ -9
822
+ +1
823
+ +12
824
+ -9
825
+ -12
826
+ +3
827
+ +15
828
+ +1
829
+ +13
830
+ -2
831
+ -1
832
+ +10
833
+ -12
834
+ +18
835
+ -12
836
+ -20
837
+ +2
838
+ +9
839
+ +13
840
+ -15
841
+ +13
842
+ +14
843
+ +8
844
+ +3
845
+ -19
846
+ +14
847
+ -11
848
+ +8
849
+ +1
850
+ +14
851
+ +13
852
+ -17
853
+ -17
854
+ -15
855
+ -6
856
+ +18
857
+ +7
858
+ +4
859
+ +10
860
+ -17
861
+ +1
862
+ +22
863
+ +7
864
+ -1
865
+ -5
866
+ +3
867
+ +18
868
+ +6
869
+ -13
870
+ -7
871
+ -9
872
+ +19
873
+ +14
874
+ -5
875
+ -4
876
+ -7
877
+ +1
878
+ +22
879
+ +18
880
+ +18
881
+ -17
882
+ -4
883
+ +13
884
+ +2
885
+ +15
886
+ -4
887
+ +18
888
+ -6
889
+ -19
890
+ -12
891
+ -11
892
+ +16
893
+ -3
894
+ -3
895
+ -19
896
+ -16
897
+ +6
898
+ -20
899
+ -19
900
+ +6
901
+ +4
902
+ +10
903
+ +18
904
+ -4
905
+ +14
906
+ +3
907
+ -5
908
+ -19
909
+ +1
910
+ -11
911
+ -20
912
+ -1
913
+ -2
914
+ +17
915
+ +26
916
+ +6
917
+ +10
918
+ -1
919
+ +5
920
+ -7
921
+ +11
922
+ +18
923
+ +16
924
+ -8
925
+ +14
926
+ -7
927
+ -5
928
+ -5
929
+ +18
930
+ +7
931
+ +13
932
+ -6
933
+ -11
934
+ +15
935
+ -22
936
+ -12
937
+ -4
938
+ -12
939
+ +10
940
+ -7
941
+ -14
942
+ -3
943
+ +16
944
+ +4
945
+ +17
946
+ +10
947
+ -18
948
+ -22
949
+ +1
950
+ +14
951
+ -11
952
+ -22
953
+ +10
954
+ -26
955
+ -73113