chore: setup folders for aoc 2024
Go Bump / bump (push) Failing after 9s
Go Test / build (push) Successful in 38s

This commit is contained in:
xuu committed 2024-10-26 11:38:44 -06:00
1 parent 50af2114d4
commit 3c9af95ec4
92 files changed
+72 -1

No files matched your search

+5
View File
@@ -0,0 +1,5 @@
32T3K 765
T55J5 684
KK677 28
KTJJT 220
QQQJA 483
+1000
View File
@@ -0,0 +1,1000 @@
A2T63 467
4854J 948
TJTT3 229
69664 839
ATT9A 340
69959 997
39666 4
JJA59 528
A7799 27
T8JTA 71
3333J 50
43Q48 897
66266 574
65TTT 572
TT222 608
JAAQT 98
9Q959 610
27573 537
J2228 504
AJ555 447
KJK6K 283
2J57T 183
4444Q 500
66696 353
J7988 941
79TJK 744
24244 107
K9625 958
4A2AA 814
6Q566 494
7QA77 586
9KTK9 510
44QQQ 101
Q9T9Q 746
A9299 272
Q656J 536
29999 874
Q2T49 811
777T7 928
28288 198
44634 249
5Q96T 484
Q257J 83
63636 568
58J59 174
QQAQQ 633
3J84J 73
2TTJT 684
898A9 751
J9638 917
5546J 118
JJ897 738
AA33A 927
77JTT 603
79799 439
23J23 228
7QQ6T 33
92585 468
98998 685
TT2TT 378
K999K 327
88A59 163
46666 60
37TT7 957
7QJ35 209
33934 333
TTTT8 154
3932K 813
QA6AT 791
66T34 128
39939 277
J34J4 175
9KA99 964
94444 763
JJK4A 236
67AJK 28
4QTQT 299
8TK4Q 526
KAK4K 253
3K7A2 918
49399 112
TTQQQ 845
J999J 418
K44KK 677
4AK2J 61
9J959 475
J8838 387
66676 102
T63A6 264
34483 865
QKQKQ 692
J6669 952
K286T 436
666JT 472
J9872 303
ATTTT 543
22J52 577
A447Q 493
74TQ3 698
68T88 759
5TT5T 668
777KA 470
AA3AQ 104
76Q6A 902
T536Q 784
5Q66T 2
7A72A 765
T5455 462
TT39K 629
J73JA 419
T77T7 993
22K78 357
83Q33 13
54T84 531
44AA4 167
QTJ38 100
6665J 70
5957T 313
J884A 56
T6T99 944
TKK6K 265
265K7 850
22325 109
QQQ55 195
7TATT 513
4999Q 575
56TQK 688
62266 553
27252 663
K87A3 311
J2AAJ 647
77737 19
Q4T4J 979
2QK7Q 852
Q2Q42 7
89J77 924
QT66T 992
288A8 593
QQQQ2 509
58329 622
5JAAA 356
97364 999
38576 806
55K67 491
KKK8K 215
T2TT4 398
6666K 412
Q9829 583
385K8 348
88A48 235
76K8K 656
K4K44 204
A42TQ 712
49K4K 245
22266 297
T3AAA 177
72294 636
TTQTT 907
5JQ95 762
KK777 824
4Q294 835
T9722 79
55Q6Q 683
666JK 726
27A64 457
494J4 561
52255 230
37335 675
T9383 911
8543K 247
67QA8 659
QJ886 886
2QJJ7 261
K29K9 339
64Q84 497
6T6TT 203
K88K8 25
AA5AA 882
59925 256
K995T 382
K7777 734
55888 371
A7J28 710
JTATT 480
T7JKJ 817
A4Q46 887
KJ4JK 827
JJ8JJ 589
4A766 878
36596 511
A4QQ6 266
5JK32 669
7J372 521
K949J 325
3A633 218
25Q6K 110
44K48 406
69668 893
2QJT6 864
4QQQQ 216
5K555 184
TA969 616
3T573 876
A5K9J 160
J22KA 637
48575 316
75997 391
38558 903
35535 793
J2J42 933
J74A5 92
9K457 771
T57K7 111
TJ926 978
89K4A 274
2Q344 153
TJTTJ 199
994AA 259
3Q724 421
66366 34
Q444J 909
3QQQJ 188
9AAAA 769
A974K 35
99959 922
99646 159
22225 46
9A3JJ 257
T2J9A 133
7527A 171
88868 36
23322 341
T99J7 797
QQ8A7 461
AJ2A3 138
55AJ2 16
AAAQA 254
57332 623
A3333 22
T37K9 597
44QT4 713
J7T6T 516
Q888Q 896
Q22QQ 222
2783Q 11
75779 959
642J5 842
T9TT4 580
6JQ95 392
A355A 649
53676 271
3J353 643
Q28Q4 499
44J5J 702
Q97K2 833
433A5 570
99979 459
AJT44 652
663K6 789
63399 994
AATJT 65
4J8J2 212
KQ353 373
A53K4 180
J9797 846
TTT98 686
7KKKA 868
88J3J 372
9T5KQ 482
J5Q8A 514
9588K 695
JA73Q 752
97TTJ 779
QT888 405
QJ9Q5 293
T3489 481
AAAAT 940
KK4KK 662
84A9Q 841
2Q224 278
A2K84 548
66569 232
4T4QQ 5
AAAA8 17
K95AK 617
97858 892
88A2K 72
42J2Q 448
993K3 740
7T97T 150
444T3 393
333JA 700
J7Q4A 90
4KQ3Q 402
T3TJ9 844
44864 820
J29AA 913
23293 651
Q9939 777
666Q6 191
A2288 745
8338K 796
3J9Q7 241
48854 85
J6266 305
9QQ53 821
AT497 655
ATAA8 943
6AA66 627
9Q999 895
A563K 24
22722 221
7J35J 336
76687 826
6A79A 487
94944 148
22A28 223
J55TQ 829
39K92 306
86667 178
QQQQ3 8
93A33 413
JQ777 930
K8TQ8 440
JJJJJ 666
68T72 432
577J4 828
72275 926
9K85T 975
T4J27 618
J882Q 725
23323 308
T55TJ 977
23272 408
48QQQ 260
J5565 45
Q98Q9 262
444T4 540
88K48 424
3J3J3 890
TQ353 786
9Q222 201
5T443 142
AA6A6 14
Q7447 136
7T55K 196
79433 818
3QT3J 602
Q7QQQ 114
77877 410
33955 485
474A7 193
7KA7K 530
33993 626
6QQQQ 694
2J248 956
62A28 639
TJ9QQ 696
6JK52 569
42844 76
44322 519
Q22J2 840
J6J66 805
Q5Q5J 185
QAJA6 750
48896 95
2T2TT 57
243J7 182
49279 231
99J99 377
JQ324 243
55984 407
QJ68T 290
5Q47K 324
A349Q 170
8Q8QQ 469
K2JJK 625
TTJTT 501
J4444 81
47A44 812
2TJ23 594
Q622A 873
JJ8AK 587
5T5TK 197
899Q7 606
8TJK9 380
K68Q5 454
KQTK6 335
6K668 207
QQ6T6 164
38J37 682
2JJ2K 506
72277 650
7J728 934
883T8 62
Q2T72 985
J25T9 464
85657 429
J2AA2 780
66668 206
KAKAK 291
3KKKK 279
5K33A 234
82228 757
J6QQ4 251
Q3Q57 973
QT342 80
33Q8Q 869
28546 515
443KK 296
44785 172
JKT56 438
27A47 179
64789 925
Q6KQ5 642
227J2 488
5264T 86
2A57A 628
A64TK 369
4T42T 77
6595J 108
38247 91
J5K8K 730
5AQJQ 723
K8KKA 604
92226 705
2J2AQ 676
6AQQA 870
TTTK9 147
A28K3 984
K2K2T 670
2TT35 135
JQT42 546
JA696 9
K3K39 815
89T2J 880
4J3TT 132
K4K62 560
8742Q 242
K75K5 403
5J55T 301
33733 718
7Q777 507
878JT 355
8J53J 598
2J442 512
AAJAJ 26
69966 252
6AJ2A 654
A5A55 329
578A3 214
QTJT9 955
86838 525
78KAJ 843
66J79 557
J22T2 573
K77T7 141
6Q568 1000
KKKK5 741
8426K 921
2K69Q 539
6AKT2 258
Q33Q6 559
T627Q 389
Q2489 856
44544 456
AQQQ7 116
Q6J76 965
TQTQT 808
QQ35K 838
37T5Q 155
KKKKJ 281
4Q4JK 632
8A8A8 384
98T82 365
33JKT 404
2A868 474
3J8J2 505
2K22Q 145
9T9TT 74
78888 298
86A5Q 571
6K56T 648
24727 263
KK9AA 809
6T6T6 638
67K9A 319
22T22 415
A92QQ 127
8J9J9 400
Q59QQ 862
73337 75
QQQQJ 761
8JK42 233
3K6K3 15
5T737 381
2QT24 395
88J8Q 93
AK747 37
42747 798
92666 54
K6AKA 490
QQ235 782
AA4AQ 139
J22TT 954
66JTJ 68
K9A5T 792
9Q56Q 837
63365 889
K53A8 82
28886 810
46626 47
AJ443 442
TJT33 386
A4822 338
K22J2 238
99323 961
J632Q 479
Q6222 848
3JQQ3 119
9QQQQ 703
22388 900
333J8 803
88333 950
73K47 280
67KJ4 30
7QA7A 716
J864Q 974
Q5T75 565
777JJ 787
99899 288
76Q77 971
29442 679
TTTT7 126
A448T 317
97Q4K 347
729JQ 200
T8T8T 664
77747 894
K6AA6 55
88848 48
8QQQJ 743
KQQQQ 310
J78TT 43
66K6K 323
23J39 292
7Q49A 937
32T95 951
A3A92 211
3QJ5J 12
77KAT 304
44763 715
8QTT7 366
45JQT 320
QQ6KK 620
3T7JT 465
Q866J 538
J6T94 409
2222J 270
38982 321
JJ2QT 332
ATT8A 69
QQA4J 542
TKJKK 801
5A5T5 884
TT9TT 23
7K343 719
33453 96
K82QK 349
Q6KTT 859
477TJ 674
QQAAQ 754
4J5AK 105
2JA22 224
QJJAK 449
QKT4A 929
KKA9K 968
J399J 788
J333T 162
A394A 699
QQTAJ 783
2976Q 949
75575 658
J4KKK 137
Q44TT 309
5555A 872
4A444 78
5KJ5K 385
3AK32 967
Q55J7 898
222A3 428
76787 158
52623 1
72Q8A 267
55Q55 756
36363 282
4444K 661
6KJ44 857
9KKJK 220
9T7AJ 165
44QQ3 970
67746 794
5A2K2 736
75559 582
88988 166
58533 720
77792 51
6Q22J 665
TA77T 275
2K86A 478
566QK 799
9KJ79 289
55646 120
AAAKQ 383
3A23J 942
54225 646
8AAA8 103
6T256 946
82J66 240
T69J7 463
555T5 202
99888 219
75936 64
37K99 747
43A44 58
652TQ 981
2JJ43 947
4A25K 520
K9J99 989
22223 144
4433Q 225
2KKK5 352
53577 226
888TT 581
KKKQQ 244
JQ5QJ 129
7KKK2 822
66976 595
74774 708
T23QA 49
68A6A 529
A3Q3A 885
4Q8J4 39
3JK44 547
A4KAK 755
QT736 414
QQTQQ 527
77757 342
KJKKJ 161
T4TA4 541
Q2583 417
88K2K 605
ATK5J 89
88T77 315
K54K7 441
Q3994 276
J3666 370
89K89 861
3564A 831
AK394 194
6J76K 709
2T748 343
4KJ69 550
TKKTT 653
K5K55 399
T6T75 192
6T226 248
KJ665 330
5J55J 853
Q7577 552
74Q4Q 115
JA8AT 879
KKQJQ 285
33633 599
586KK 434
4334J 374
4785K 987
K45K5 963
J3T4Q 915
JT498 32
88828 492
JA87T 766
TAA3T 443
J4729 210
7369Q 584
64446 94
33T33 146
35Q5Q 190
82878 972
8QJ55 566
8888J 326
KT2QQ 640
3JAA3 273
J787J 564
74KQJ 904
87K36 237
KKAKK 697
35335 854
66556 590
KA575 998
6495A 758
K99QQ 181
3223K 635
Q6444 189
9QKA5 563
6Q6Q6 609
2KJQA 156
92292 176
7QQQ7 804
82TA4 816
J6A6A 67
TQJ8T 693
56KJK 518
89589 966
6QA8J 396
93333 450
QQQQ8 851
QKKKK 722
A4AJT 778
7J7T7 667
JQQJQ 836
7T4T4 430
8QTJA 671
353A7 125
66343 871
556Q5 431
388J3 522
T6636 704
2TKJ3 140
77KJ8 800
56AA6 217
T349A 205
KKK22 770
J6AKA 379
JT2TJ 496
TQ69J 832
9KK9K 916
3524J 691
JAQQA 124
33Q66 362
J7A4A 149
6846A 753
88838 613
6QQ96 914
2888J 908
QJQ4Q 819
89K7K 742
5J86A 995
55559 113
2JKJ4 41
68866 524
22999 375
4533T 486
27975 991
22A22 795
KQKAK 781
JTKT3 363
9T943 919
58585 714
54J45 143
Q4664 657
JK663 416
28Q22 517
65KK3 168
KQ7JQ 477
QKQJA 455
62T97 458
Q2KJK 938
23K7J 678
36796 721
79268 612
9Q5QA 567
89Q88 768
KTJTQ 681
KA639 97
32J85 134
J96A5 532
88885 269
T69JT 823
KQ6Q6 733
AT2AA 63
2QJ69 84
99A9A 748
TAQJK 830
K5T88 446
42449 790
33335 578
96J24 10
J8K4T 358
548J5 615
339A8 855
AJAA6 498
37J32 508
666J8 735
3A7JA 760
KAK57 729
J226J 899
28JKQ 591
7J75Q 312
Q282Q 66
6J222 545
727A7 775
55KKK 433
868JJ 29
6JK87 186
9KKKK 641
4T4J2 727
79JK4 556
J99A9 923
TTJJK 21
TJ685 345
QA9QQ 645
66323 3
66665 910
73A7J 388
KJ3K2 732
77793 660
QTA6T 988
66888 920
Q3393 208
J4TJT 600
88J8J 701
82T3J 53
KK7A8 772
J77KK 425
K7TTT 337
K58Q3 802
6T4T4 737
KKKK7 453
K9599 99
AAAA7 476
TKATT 728
3QQ3Q 346
49A98 123
95599 286
7K7Q4 38
AA644 634
J9J8T 40
4JJ48 246
77J22 986
6J633 906
ATA6A 376
646A3 359
KKQT7 535
Q22Q6 785
6J666 502
28755 607
852K5 44
AA2TJ 213
A6TJT 847
J6A44 452
9T982 687
6K8K8 59
TT6AT 87
63222 776
39JK3 849
J5575 834
8JAQA 503
49JAK 614
3T34T 544
87788 451
3475Q 351
836J7 990
8Q585 866
48389 368
2AAAA 534
786K4 489
785Q2 689
A9A59 706
9KJ22 891
T4698 621
63TQQ 334
264A5 596
4T3AQ 394
655A4 331
45TQ9 52
A5999 630
77337 858
KT479 707
58778 152
79869 881
JKQ84 344
279T7 495
8388Q 551
3QJ38 877
T3TTA 445
6Q6QA 905
94426 619
79669 576
75577 774
8T888 962
46J44 773
74J88 268
AA23A 690
9666Q 996
A8T82 969
Q54Q5 932
32942 420
777J7 173
J452K 466
T85T8 322
6556A 807
22727 287
2J22J 250
3264Q 401
Q7366 939
4QKK4 875
53528 295
99963 294
K5AQ7 20
7A9JQ 523
2779Q 437
K2J44 300
AK4Q5 426
2A9AK 471
77997 239
22422 549
3T338 151
5T4J4 42
3K23K 680
82J28 901
AQQQ8 423
KKK29 427
T8TJT 187
23333 314
84JA7 931
Q5TJT 122
2222Q 169
K2937 888
6969J 980
QQ2Q7 328
K7436 435
AJAAA 724
7Q5QQ 302
TKKK3 131
K5QKJ 673
45229 588
33J32 982
2AK9K 558
8A88K 444
T26K9 411
Q9653 117
QJJJT 860
37Q33 554
396KT 130
68262 983
44J4J 672
77827 106
266Q6 367
842AJ 749
76363 644
448A6 631
22622 121
QJ39A 361
73376 318
ATAAT 354
A2KAA 390
93T3T 562
76TKA 307
JAK83 18
2684T 825
K7T36 284
7J3A3 483
49TA8 953
Q343Q 6
JJQQK 592
55255 945
K8K8K 867
53555 717
AA36A 227
69A48 555
K8885 767
9929J 364
64999 460
J9333 157
49994 397
JTKJ6 764
TTT4T 422
3K334 935
5J555 711
JK863 960
Q8J9K 624
Q5QQQ 473
9988J 88
AA99A 976
54542 611
4Q8Q9 31
9AJ89 912
5T52J 533
K4K22 360
54555 579
53993 255
44446 863
J373Q 731
22525 601
Q7JQQ 350
5J597 883
QAQQK 936
42434 585
6TT6J 739
+1000
View File
@@ -0,0 +1,1000 @@
TQA26 14
66656 612
JK3JT 442
A6QQA 214
Q3777 131
J2K8J 180
J56KK 578
33699 532
999K4 605
4J445 884
59A5A 381
86686 419
7T5KJ 92
47883 178
749K3 2
7K6J3 675
8J22J 869
47463 168
2A5K3 597
27332 465
4AQ9K 236
59TJ5 883
5TTTQ 333
A8QAJ 208
JAJ95 380
8688A 265
34K62 525
KT7J7 709
A5A5A 890
7347J 935
6TQ57 973
888K8 345
J5456 33
8T8T4 456
3J942 88
QJJJA 727
75333 479
K6622 369
T468J 608
835A7 107
67AA7 390
QTJ9Q 25
Q56Q3 579
7K245 227
36857 327
8J7K9 524
7AAAJ 277
JKK4K 352
43974 576
2QJ22 482
99JJ9 484
AJAQQ 341
8222K 976
JA57Q 84
A593T 725
9T494 581
TKTTT 941
KJ55A 439
9444J 137
4423T 504
K9J96 944
6K9JQ 656
2Q34J 48
8T87Q 679
5J955 27
Q3T4T 416
J8888 972
5Q298 257
64463 937
44K4J 708
KQQQQ 622
TJKTT 800
9394J 63
TJ639 660
K4JAQ 119
9838Q 788
76K4A 38
J86KA 768
3AQ3A 617
J2592 40
QAK68 761
98999 620
J4T34 963
2A979 483
95JA8 336
A33AA 54
TTT33 518
QT759 212
A7A3A 999
KJ6AK 485
99339 921
TJ3A4 968
2TKTT 573
28626 844
9KK8K 79
7QT7A 57
66777 493
JJ355 676
AJAAA 176
AAQA3 522
T4KJ4 308
375K3 658
J7K75 864
JA275 669
76T45 507
AJT92 975
K5434 346
942Q2 598
JA33A 495
3JKK4 39
2AAJA 399
6555T 296
7962T 787
KJK2K 764
684JJ 998
6JJ36 52
64K66 838
JA8K3 901
3Q7Q3 774
9JK99 666
3TK6J 355
KKJ25 503
86658 584
T4T42 268
Q4238 530
T632K 700
TJTTJ 571
T7Q38 747
AJ6KQ 150
2QT22 885
KJA4A 784
87667 859
63994 570
Q82A6 331
TK9T6 124
J5K5K 140
TKAJA 211
59AAA 683
89J57 694
TQTT9 122
59996 715
73TQA 397
AJT3T 420
85882 777
AA4AT 175
4K4K7 670
8JA79 19
QKKJ8 340
9TTTA 243
77QQ7 314
22237 22
656QK 911
8K79A 847
4K466 734
77979 924
4J848 949
J72K4 388
77JJ7 741
77477 724
8558K 444
668K9 441
448T4 820
AQA7A 629
Q93J3 732
4344J 582
JA2JA 623
44422 735
3444Q 652
5TQQQ 929
A5T6J 216
855JK 808
Q7QKK 887
3J433 297
QJQ77 742
6JJ99 492
2QA2J 717
326AA 704
JJJJJ 194
3QQQJ 550
4J424 445
64A53 201
9J5AA 718
A8747 438
33788 989
3K399 255
T4343 400
444J4 382
3J3J3 12
J7552 228
352Q8 812
8A833 762
89638 940
42AQK 577
6TT68 326
AAQAA 102
4A37A 647
TAJQ7 991
85585 395
66366 406
9Q9AQ 177
K6K6K 785
2T228 143
K9Q4Q 109
T7999 462
28294 978
2T3J7 515
A2AJ6 886
AATAA 508
KJ73J 86
7AQ26 376
6K97T 163
A4AA6 537
JK555 726
2TTK5 356
98AQ8 601
2JJ4K 771
K2386 791
55888 254
555JJ 690
799KK 378
44A62 786
4338K 246
338J3 688
Q39J2 139
22J52 338
6KAJ5 933
95J98 332
67K4J 317
4K545 592
9Q929 852
68872 157
59535 548
AAKJK 615
36K97 758
TQQTT 394
QQ8QQ 926
Q5K9Q 75
JJAQ6 637
JTJ32 275
22TQA 729
KQK3K 203
43J86 104
A6663 11
9QJT6 908
AT3A6 430
56245 827
6Q334 604
77T7T 841
TQK68 668
22A2A 773
62TK6 892
8K898 912
Q3Q26 411
59678 26
43924 451
AT3K3 952
78788 16
24229 71
J947T 849
5K5Q2 897
92332 42
TT3T4 32
47995 686
99T99 749
K8QQQ 408
82889 846
A6A22 93
4A76J 590
62222 795
TTTT8 316
7QJ68 696
K9J9J 913
944JJ 135
77757 722
65J66 707
J7838 4
2T895 802
2AAAA 325
Q855Q 619
95223 148
87989 706
K4A79 96
22T86 60
A5AAA 43
Q6666 339
54445 320
88JJ8 262
36AA9 461
6J6JQ 121
8K7T6 114
9A863 377
T7TA8 126
JJJTT 415
64JTK 289
K39K3 757
54K89 737
73377 372
T5389 365
4949K 304
87787 763
KQ33K 367
Q75TK 721
999QQ 934
46647 433
88886 803
7J2AK 888
KKTKT 10
222T2 440
JA78A 239
J6KKK 610
AAA8A 166
65J62 545
57355 455
5AQ43 240
KKTKJ 59
3J337 170
J5AK4 872
TTQQJ 811
TTT7T 627
Q8877 588
T5368 337
A4K3T 662
9AAAT 136
TJ5K5 402
332A8 89
T6T6T 280
T6985 603
966Q9 681
88444 458
27JJ8 473
66669 5
4JJ48 881
44426 335
88A8A 85
A5A36 323
7QQ57 984
464T6 745
636QA 155
88TAQ 879
62874 421
535T5 50
4Q444 470
83432 501
24444 586
47774 539
KJKJ9 53
A4355 920
QTKKK 290
333A3 540
TTTAT 965
28622 611
35QA9 387
94J48 797
699T8 123
66266 422
QQ44Q 919
8J9KK 974
Q9Q76 685
66J66 945
7ATTJ 334
66KTK 904
TT484 932
52557 792
2828J 995
JJ9JK 635
9745J 55
22299 549
92QJK 222
QAA7J 531
7A5J8 358
22KK2 544
27Q23 273
AJ88A 602
33A6A 459
22T26 232
4AATT 174
T5342 743
55255 979
Q88QQ 284
222A2 680
3QQ33 554
K2KQ2 950
AAA6J 650
5Q333 62
7J574 37
38KK8 360
K2K2K 760
4T9TK 463
6Q67J 472
66686 778
44J4J 990
Q3993 655
77J27 389
TTQ27 35
277K8 446
27J42 428
KK4J4 798
QTK6J 199
4344A 457
TQTKQ 977
8833J 237
99TJK 147
6Q9Q4 313
TTJKK 98
33833 460
83T3A 805
TJJ22 754
5TAJK 632
T293Q 191
55757 70
2TT8T 851
7Q575 61
22K4K 828
8T288 204
A8AA8 928
KJ68J 697
45AAJ 213
8QJ75 693
23KKK 319
Q2Q22 969
224J4 821
44Q33 583
34KJ3 342
4JA57 687
88T2Q 354
989A6 51
AAQA9 631
5A57J 311
62266 77
2A84A 132
99JKK 234
88899 776
K3395 6
968JA 830
6J444 282
QA55Q 251
39K99 209
4A69Q 790
77K57 562
T5QT5 115
56455 134
T3TQQ 283
46A6A 413
62T67 626
5757A 371
98A47 642
2T653 813
2888A 322
TTQ8T 454
93333 876
28AAA 580
QA63Q 196
2Q5QK 184
48TTJ 300
9JT79 306
77T77 930
6K666 957
6J696 417
8J588 703
666TJ 673
QKKJ7 233
577AA 286
8J775 781
939KK 866
34444 558
4A4AA 221
523QT 630
8K259 651
2T34K 716
6K2T5 8
88T83 551
Q34AK 142
4444T 7
JTKT2 621
JQJJQ 288
38344 599
99292 74
Q36AA 206
52255 871
33J92 188
K27QA 318
66268 513
29QA6 613
74J74 815
5KK6K 895
Q9J9Q 511
6J33J 158
QAQQA 903
KTQQQ 305
2T759 958
A796K 108
63266 568
KTT7K 691
Q5A5A 186
47787 267
6T6TQ 58
56472 891
K7953 648
99A9A 486
Q78K2 249
99799 705
2K62A 671
6TTJT 392
4T44T 878
44KKK 410
KTAQ7 423
222Q2 244
4J324 401
63636 575
9K54J 856
K7K77 755
2K222 160
3J644 711
3355J 259
A9995 664
43586 909
A4744 574
Q7337 309
7QQ27 161
J8575 374
9K99K 636
7TJT4 674
79888 505
K3AJ5 730
K4QJK 427
99TJ9 263
6963T 905
3K3J5 474
TJ4J8 806
5TA38 437
866J6 807
2T454 44
63A4J 865
879T8 527
A5282 217
53737 951
44Q9Q 634
TTJT9 210
QK67K 192
33A3A 915
88Q8J 125
QJ2QQ 256
2888J 20
2786T 391
J27J7 938
2AAT5 521
544Q4 528
A4645 30
AKAA2 526
44535 835
KQ33Q 585
66JJ6 818
9979J 138
TKKKK 661
KA225 278
Q8888 794
K27QK 916
83323 494
39969 684
53359 986
77J73 299
5TK9J 782
222JJ 713
3Q383 753
46466 298
QQQJJ 875
Q2394 860
QA5QA 988
8K5K9 877
7Q78Q 68
AA6A6 923
J565K 29
52766 301
8598Q 159
KKK8K 824
8KTQ5 49
66486 41
45459 842
67676 223
44283 971
22T5T 836
88857 164
8K492 250
939J9 900
K5J9K 779
5Q692 145
8T88T 907
55535 31
8K822 609
9TQK9 67
6762J 435
T5T5T 780
4K442 152
657J6 202
44494 349
78377 925
32858 882
276Q5 359
49526 509
2J623 918
4222A 914
TTTTJ 939
255TQ 179
KJ42T 898
79268 404
648K7 189
6T7J7 488
37Q63 538
K366J 469
KKK67 156
998K6 242
QQQ7Q 560
33223 231
9A999 167
28228 961
JJK2K 141
KKK46 633
KT3KA 845
A2Q2A 667
AA9AA 471
A663A 76
J966Q 996
77J76 127
74JJ7 748
6QQQ7 303
8AJ44 18
J2J34 480
A289Q 195
8335Q 266
QQ2Q2 385
45K4J 870
48JK6 1000
T9949 294
2585K 272
7J77K 809
J53KK 657
AAAT5 347
72J8K 476
TQ77T 910
29Q7T 767
4TTTT 663
642AA 292
37QQQ 171
86Q74 97
96J88 34
QQ7QJ 618
77772 546
99559 23
AJ666 295
AAKAK 964
K8Q32 120
8QAK5 563
A9K9K 45
3475K 362
95999 739
482TQ 36
5Q555 452
854Q3 894
QTQQQ 561
55755 99
899AJ 235
QAQ22 502
75353 638
K6A87 572
J2KT7 366
KA39K 144
8AAAJ 409
66753 766
TT626 510
AJ999 418
42222 983
5J577 994
262KK 330
99992 701
4K334 825
96J96 536
774K7 229
A9362 351
KA8KJ 982
J2552 594
TTT2T 810
KK24K 640
23222 162
K36Q7 321
QQJTJ 519
33384 606
5A834 500
Q35Q2 379
A7888 434
595J2 47
2K7AA 728
AA66J 9
AKKKA 373
53335 328
447J4 514
KT7K7 21
785TT 253
3J783 720
7J2AQ 405
56Q5Q 447
Q647K 94
28488 207
694T2 714
KJKKK 78
8T866 130
274Q5 672
89992 312
J2242 350
QQ988 899
3T3T3 464
Q2226 752
55222 639
7T9T9 271
Q8884 832
2Q92Q 516
46886 817
77J7T 829
AAA9J 80
35J97 555
358K7 692
ATT6T 678
K2465 698
A2A59 46
58T24 956
8ATA2 804
AAK3K 751
28897 649
QAQKQ 854
7T776 353
26226 426
5566T 13
8KKTK 857
TT44J 512
QA29K 172
A3AAA 28
6TTQT 993
8TTJT 922
44TT5 942
K67QT 699
AA77J 927
J8JJJ 153
4T474 73
4QJ8T 475
86386 796
AA2QK 218
86A4K 205
78J84 481
27K3T 260
AAKTQ 641
6QQ33 467
3K333 279
62888 889
8Q388 185
Q88QK 490
9494J 24
5T888 783
36633 769
8T484 258
82878 987
J3336 643
TKKAK 276
822AJ 429
72727 917
254JK 113
58888 843
AK537 624
QQQJ8 659
J3366 274
ATTJK 468
5KKK2 72
AAAKA 533
5525J 962
Q6QJ6 165
5K424 607
94KK9 66
43544 487
JJ38T 712
6K6KJ 90
J7788 936
75522 625
K6KK9 955
AJ7J7 765
K7QTQ 407
37333 837
82J83 523
2A526 543
99TJJ 238
33343 997
44446 361
8868K 432
9J989 82
49999 65
5TQ78 966
AAA48 534
76J5J 946
J9J25 187
5T973 744
KK562 816
486A4 324
569TQ 269
3AAT4 343
TQTTT 386
T56A9 449
Q844Q 535
T8T25 281
QJ5J5 858
AKTK8 364
33532 315
92959 943
999A2 198
TAQ6J 770
29295 616
AKA7Q 833
55A5A 896
KK49A 396
ATJ84 197
73K87 383
6A56A 478
7KQT3 775
49A93 110
2928A 736
5JK35 95
53JQA 261
TT399 443
57779 287
77296 220
3T334 436
54K87 756
45455 393
647J4 868
5555J 498
K877K 173
646JJ 589
2JJAJ 960
7T5T6 293
T3K3T 118
TJA63 855
7K7AK 403
68754 614
J5628 822
J93TT 245
JQJQ9 874
32JT2 823
7AA77 948
AQTQA 56
48986 252
9K382 116
TJ9T9 230
Q7632 193
998K9 750
KK99K 491
Q57J2 219
T58T9 596
66T6T 424
QK354 953
66652 863
23J33 151
7J337 653
3J247 215
A7KJ5 302
A555K 654
KQ9TT 363
99Q49 370
2JJ65 587
7TAAJ 553
KKK68 826
77755 850
J74T2 959
2TQ2Q 954
ATJ3Q 344
45448 557
5JJ5J 738
T3278 595
465AQ 520
97Q82 665
99779 183
KQJAA 91
KQTJT 746
Q2542 453
99J99 414
39T99 368
AA4AJ 906
8TK28 529
5A55J 819
TT4T4 853
JQAQQ 100
57T4A 970
AJAA3 834
9JTT7 291
9AK6A 902
96J94 181
3J944 593
94KQ4 375
KKKK2 556
88J99 567
JAAAJ 840
9J9Q9 128
74447 81
28288 719
32K88 225
53535 87
74555 224
6972Q 628
7JQJ8 893
2T25J 190
92226 552
Q3QTQ 591
A666A 814
26247 103
4KTKK 981
J22K2 133
3KKKK 873
KJK7K 689
6A6K2 985
3AAAT 425
22J27 839
8888T 677
6A666 569
8887Q 497
696Q3 799
99646 695
KKK5K 69
3A332 106
Q7TTT 831
96622 566
4JAA6 564
22572 600
92AKJ 931
TA8AA 848
73373 112
6666T 182
AJKJ7 645
7A7AA 496
T5555 740
J22JJ 967
24AAA 146
956AQ 412
66A9J 329
46644 477
A9939 105
Q5Q5Q 702
588Q5 384
63AAJ 466
254KA 947
8KK88 565
KQ29T 541
36K66 759
7JAQQ 431
8QTT4 992
3333J 731
44447 793
T355T 489
39723 862
828QQ 270
96999 15
333Q2 733
T774T 559
55K55 1
9J955 264
K2KQK 682
QKQKQ 801
222J2 247
97J79 3
42TT3 499
2KQ69 129
4764T 450
72K2K 83
3Q334 644
TTT88 348
2Q223 310
J43A3 880
J4229 64
4QJ8A 17
43434 285
92222 772
T59K6 448
66674 248
34334 241
JK529 547
T7TT3 517
22QJQ 117
96J6J 861
QTJT4 101
Q444J 307
T2Q8K 357
93T24 789
T7K57 398
2K94A 111
9J942 200
T7J8K 646
55665 980
56555 169
79777 149
82A93 710
Q989Q 226
J2T55 542
763K2 723
QQQJQ 867
QQQQA 506
J7777 154
+247
View File
@@ -0,0 +1,247 @@
package main
import (
"bufio"
"fmt"
"sort"
aoc "go.sour.is/advent-of-code"
)
func main() { aoc.MustResult(aoc.Runner(run)) }
type result struct {
valuePT1 uint64
valuePT2 uint64
}
func run(scan *bufio.Scanner) (result, error) {
var game Game
for scan.Scan() {
var cards string
var bid int
_, err := fmt.Sscanf(scan.Text(), "%s %d", &cards, &bid)
if err != nil {
panic(err)
}
fmt.Println("cards", cards, "bid", bid)
game.plays = append(game.plays, Play{bid, []rune(cards), &game})
}
game.cardOrder = getOrder(cardTypes1)
product1 := calcProduct(game)
game.cardOrder = getOrder(cardTypes2)
game.wildCard = 'J'
product2 := calcProduct(game)
return result{product1, product2}, nil
}
var cardTypes1 = []rune{'A', 'K', 'Q', 'J', 'T', '9', '8', '7', '6', '5', '4', '3', '2'}
var cardTypes2 = []rune{'A', 'K', 'Q', 'T', '9', '8', '7', '6', '5', '4', '3', '2', 'J'}
func calcProduct(game Game) uint64 {
sort.Sort(game.plays)
var product uint64
for i, play := range game.plays {
rank := i + 1
fmt.Printf("play %d %s %d %s %x\n", rank, string(play.hand), play.bid, play.HandType(), play.HandStrength())
product += uint64(play.bid * rank)
}
return product
}
func getOrder(cardTypes []rune) map[rune]int {
cardOrder := make(map[rune]int, len(cardTypes))
for i, r := range cardTypes {
cardOrder[r] = len(cardTypes) - i
}
return cardOrder
}
type Game struct {
plays Plays
cardOrder map[rune]int
wildCard rune
}
type Play struct {
bid int
hand Hand
game *Game
}
type Hand []rune
func (h Play) HandType() string {
hc, _ := h.HighCard()
switch {
case h.IsFiveOfKind():
return "5K-" + string(hc)
case h.IsFourOfKind():
return "4K-" + string(hc)
case h.IsFullHouse():
return "FH-" + string(hc)
case h.IsThreeOfKind():
return "3K-" + string(hc)
case h.IsTwoPair():
return "2P-" + string(hc)
case h.IsOnePair():
return "1P-" + string(hc)
case h.IsHighCard():
return "HC-" + string(hc)
}
return "Uno"
}
func (h Play) HandStrength() int {
_, v := h.HighCard()
switch {
case h.IsFiveOfKind():
return 0x700000 | v
case h.IsFourOfKind():
return 0x600000 | v
case h.IsFullHouse():
return 0x500000 | v
case h.IsThreeOfKind():
return 0x400000 | v
case h.IsTwoPair():
return 0x300000 | v
case h.IsOnePair():
return 0x200000 | v
case h.IsHighCard():
return 0x100000 | v
}
return 0
}
func (h Play) IsFiveOfKind() bool {
_, _, _, _, has5 := h.game.hasSame(h.hand)
return has5
}
func (h Play) IsFourOfKind() bool {
_, _, _, has4, _ := h.game.hasSame(h.hand)
return has4
}
func (h Play) IsFullHouse() bool {
_, has2, has3, _, _ := h.game.hasSame(h.hand)
return has3 && has2
}
func (h Play) IsThreeOfKind() bool {
has1, _, has3, _, _ := h.game.hasSame(h.hand)
return has3 && has1
}
func (h Play) IsTwoPair() bool {
_, has2, has3, _, _ := h.game.hasSame(h.hand)
return !has3 && has2 && h.game.pairs(h.hand) == 2
}
func (h Play) IsOnePair() bool {
_, has2, has3, _, _ := h.game.hasSame(h.hand)
return !has3 && has2 && h.game.pairs(h.hand) == 1
}
func (h Play) IsHighCard() bool {
has1, has2, has3, has4, _ := h.game.hasSame(h.hand)
return has1 && !has2 && !has3 && !has4
}
func (h Play) HighCard() (rune, int) {
var i int
pairs := make(Pairs, 5)
cnt := h.game.Counts(h.hand)
for r, c := range cnt {
pairs[i].c = c
pairs[i].r = r
pairs[i].o = h.game.cardOrder[r]
i++
}
sort.Sort(sort.Reverse(pairs))
value := 0
for i, r := range h.hand {
if r == 0 {
continue
}
value |= h.game.cardOrder[r] << (4 * (4 - i))
}
return pairs[0].r, value
}
type Pairs []struct {
r rune
c int
o int
}
func (p Pairs) Len() int { return len(p) }
func (p Pairs) Less(i, j int) bool {
if p[i].c == p[j].c {
return p[i].o < p[j].o
}
return p[i].c < p[j].c
}
func (p Pairs) Swap(i, j int) { p[i], p[j] = p[j], p[i] }
type Plays []Play
func (p Plays) Len() int { return len(p) }
func (p Plays) Less(i, j int) bool { return p[i].HandStrength() < p[j].HandStrength() }
func (p Plays) Swap(i, j int) { p[i], p[j] = p[j], p[i] }
func (g *Game) Counts(cards []rune) map[rune]int {
m := make(map[rune]int, len(g.cardOrder))
for _, c := range cards {
m[c]++
}
if g.wildCard != 0 && m[g.wildCard] > 0 {
var maxK rune
var maxV int
for k, v := range m {
if k != g.wildCard && v > maxV {
maxK, maxV = k, v
}
}
if maxK != 0 {
m[maxK] += m[g.wildCard]
delete(m, g.wildCard)
}
}
return m
}
func (g *Game) hasSame(cards []rune) (has1, has2, has3, has4, has5 bool) {
cnt := g.Counts(cards)
for _, c := range cnt {
switch c {
case 1:
has1 = true
case 2:
has2 = true
case 3:
has3 = true
case 4:
has4 = true
case 5:
has5 = true
}
}
return
}
func (g *Game) pairs(cards []rune) int {
pairs := 0
for _, n := range g.Counts(cards) {
if n == 2 {
pairs++
}
}
return pairs
}
+74
View File
@@ -0,0 +1,74 @@
package main
import (
"bufio"
"bytes"
"fmt"
"testing"
_ "embed"
"github.com/matryer/is"
)
// AKQJT98765432
// dcba987654321
//go:embed example.txt
var example []byte
//go:embed input.txt
var input []byte
func TestHands(t *testing.T) {
is := is.New(t)
var game Game
game.cardOrder = getOrder(cardTypes1)
h := Play{0, []rune("AAA23"), &game}
is.Equal(h.HandType(), "3K-A")
h = Play{0, []rune("JJJJJ"), &game}
is.Equal(h.HandType(), "5K-J")
is.Equal(fmt.Sprintf("%x", h.HandStrength()), "7aaaaa")
h = Play{0, []rune("KKKKJ"), &game}
is.Equal(h.HandType(), "4K-K")
is.Equal(fmt.Sprintf("%x", h.HandStrength()), "6cccca")
h = Play{0, []rune("QQQJA"), &game}
is.Equal(h.HandType(), "3K-Q")
is.Equal(fmt.Sprintf("%x", h.HandStrength()), "4bbbad")
}
func TestPower(t *testing.T) {
for i := 1; i <= 13; i++ {
for j := 100; j < 800; j += 100 {
t.Log(i, j, i+j)
}
}
}
func TestExample(t *testing.T) {
is := is.New(t)
scan := bufio.NewScanner(bytes.NewReader(example))
r, err := run(scan)
is.NoErr(err)
is.Equal(r.valuePT1, uint64(6440))
is.Equal(r.valuePT2, uint64(5905))
}
func TestSolution(t *testing.T) {
is := is.New(t)
scan := bufio.NewScanner(bytes.NewReader(input))
r, err := run(scan)
is.NoErr(err)
t.Log("score1", r.valuePT1)
is.Equal(r.valuePT1, uint64(248559379))
t.Log("score2", r.valuePT2)
is.Equal(r.valuePT2, uint64(249631254))
}