- commit
- f975cb42d3b3c86c9b38d1392279829210be58a5
- parent
- a0d04240db61719b6fffe6c6d259a2d7c2ce1205
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2022-12-07 17:40
2022-12-07
Diffstat
A | 2022/07/input.txt | 1102 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | 2022/07/part1.rs | 37 | +++++++++++++++++++++++++++++++++++++ |
A | 2022/07/test.txt | 23 | +++++++++++++++++++++++ |
3 files changed, 1162 insertions, 0 deletions
diff --git a/2022/07/input.txt b/2022/07/input.txt
@@ -0,0 +1,1102 @@ -1 1 $ cd / -1 2 $ ls -1 3 dir ddgtnw -1 4 dir dtmbp -1 5 dir dzbfsf -1 6 dir fwrlqs -1 7 305959 jjq.hjd -1 8 dir qjnnw -1 9 $ cd ddgtnw -1 10 $ ls -1 11 dir gftgshl -1 12 dir grct -1 13 57336 tbqpqfgd.wvz -1 14 267191 vqms -1 15 dir wtgzgmvr -1 16 $ cd gftgshl -1 17 $ ls -1 18 dir mtshhn -1 19 dir smnslwd -1 20 dir znbs -1 21 $ cd mtshhn -1 22 $ ls -1 23 244930 fsclsm -1 24 197930 vnnf -1 25 $ cd .. -1 26 $ cd smnslwd -1 27 $ ls -1 28 205127 dbtvp.mbr -1 29 dir grct -1 30 270601 hcjtjptg -1 31 146538 lsqvg.zmm -1 32 310443 vnnf -1 33 84541 vqms -1 34 $ cd grct -1 35 $ ls -1 36 20977 jjq.hjd -1 37 $ cd .. -1 38 $ cd .. -1 39 $ cd znbs -1 40 $ ls -1 41 192316 pjrpqc.gwh -1 42 5233 tnqpmbjf.prg -1 43 $ cd .. -1 44 $ cd .. -1 45 $ cd grct -1 46 $ ls -1 47 297156 qzlmfj.lhc -1 48 104088 vnnf -1 49 $ cd .. -1 50 $ cd wtgzgmvr -1 51 $ ls -1 52 dir cfvjph -1 53 dir jzdqctm -1 54 153202 slcz -1 55 $ cd cfvjph -1 56 $ ls -1 57 201215 tlms -1 58 $ cd .. -1 59 $ cd jzdqctm -1 60 $ ls -1 61 dir hnbjcm -1 62 112648 jjq.hjd -1 63 319899 lhzjrmsd -1 64 118481 pclps -1 65 226538 pfnmnm -1 66 dir vdzsn -1 67 148960 wmvd -1 68 dir zvh -1 69 $ cd hnbjcm -1 70 $ ls -1 71 147907 ddgtnw.tpg -1 72 dir hgh -1 73 107668 qjpfhmw.gts -1 74 dir qvnbfdq -1 75 dir tlms -1 76 dir wlvg -1 77 $ cd hgh -1 78 $ ls -1 79 64701 smnslwd.hnd -1 80 $ cd .. -1 81 $ cd qvnbfdq -1 82 $ ls -1 83 36206 dzbfsf.qsr -1 84 dir dzfpqb -1 85 dir rvdlmnqv -1 86 13989 tlms.jgl -1 87 145493 vqms -1 88 $ cd dzfpqb -1 89 $ ls -1 90 259317 dzbfsf.mwc -1 91 36195 rtgrs.hff -1 92 $ cd .. -1 93 $ cd rvdlmnqv -1 94 $ ls -1 95 dir smnslwd -1 96 $ cd smnslwd -1 97 $ ls -1 98 141659 gflcq -1 99 315323 mwszdwvg -1 100 $ cd .. -1 101 $ cd .. -1 102 $ cd .. -1 103 $ cd tlms -1 104 $ ls -1 105 263149 gwws.zcb -1 106 $ cd .. -1 107 $ cd wlvg -1 108 $ ls -1 109 42151 vqms -1 110 $ cd .. -1 111 $ cd .. -1 112 $ cd vdzsn -1 113 $ ls -1 114 301547 smnslwd.hzc -1 115 $ cd .. -1 116 $ cd zvh -1 117 $ ls -1 118 111901 bsnmdtzq.mjp -1 119 $ cd .. -1 120 $ cd .. -1 121 $ cd .. -1 122 $ cd .. -1 123 $ cd dtmbp -1 124 $ ls -1 125 dir cscpfcjv -1 126 dir hdjs -1 127 dir jcrb -1 128 dir spmc -1 129 dir spwsfpww -1 130 $ cd cscpfcjv -1 131 $ ls -1 132 260848 qzcffqvp -1 133 $ cd .. -1 134 $ cd hdjs -1 135 $ ls -1 136 dir tlms -1 137 $ cd tlms -1 138 $ ls -1 139 174135 fwpwgz -1 140 $ cd .. -1 141 $ cd .. -1 142 $ cd jcrb -1 143 $ ls -1 144 77666 nqtvhszf -1 145 198488 smnslwd -1 146 40032 vnnf -1 147 $ cd .. -1 148 $ cd spmc -1 149 $ ls -1 150 dir hhwzwqzq -1 151 319757 hlgvsbg -1 152 dir jbrftqj -1 153 $ cd hhwzwqzq -1 154 $ ls -1 155 43088 mrlnrp.nqs -1 156 206555 vnnf -1 157 $ cd .. -1 158 $ cd jbrftqj -1 159 $ ls -1 160 296407 flb -1 161 315927 fnbvwh.lcf -1 162 $ cd .. -1 163 $ cd .. -1 164 $ cd spwsfpww -1 165 $ ls -1 166 dir ddgtnw -1 167 dir hzb -1 168 dir smnslwd -1 169 74678 smnslwd.crg -1 170 130878 tlms -1 171 239208 tlms.hjr -1 172 $ cd ddgtnw -1 173 $ ls -1 174 133732 gqddds -1 175 dir grct -1 176 240907 lslgfrm.fct -1 177 64110 rtgrs.hff -1 178 dir tlms -1 179 275504 zvwjph.svd -1 180 $ cd grct -1 181 $ ls -1 182 18055 fvnm -1 183 $ cd .. -1 184 $ cd tlms -1 185 $ ls -1 186 54154 vqms -1 187 $ cd .. -1 188 $ cd .. -1 189 $ cd hzb -1 190 $ ls -1 191 178568 hmdszw -1 192 132701 pzsfzr.zqz -1 193 dir smnslwd -1 194 $ cd smnslwd -1 195 $ ls -1 196 286526 dtcrb.tzw -1 197 214568 smnslwd -1 198 $ cd .. -1 199 $ cd .. -1 200 $ cd smnslwd -1 201 $ ls -1 202 118657 ccmmrv.wgs -1 203 $ cd .. -1 204 $ cd .. -1 205 $ cd .. -1 206 $ cd dzbfsf -1 207 $ ls -1 208 30773 grct.lbw -1 209 dir jttqnbvn -1 210 188768 pmdjrf.nqc -1 211 dir ptbps -1 212 dir tllwm -1 213 176302 vqms -1 214 $ cd jttqnbvn -1 215 $ ls -1 216 9663 jjq.hjd -1 217 $ cd .. -1 218 $ cd ptbps -1 219 $ ls -1 220 132576 jzfs.hpq -1 221 dir pwclsbw -1 222 $ cd pwclsbw -1 223 $ ls -1 224 dir dzbfsf -1 225 $ cd dzbfsf -1 226 $ ls -1 227 157147 smnslwd.jcg -1 228 $ cd .. -1 229 $ cd .. -1 230 $ cd .. -1 231 $ cd tllwm -1 232 $ ls -1 233 dir pcbgr -1 234 dir smnslwd -1 235 dir svc -1 236 $ cd pcbgr -1 237 $ ls -1 238 dir grct -1 239 65990 gvlc.ptr -1 240 dir jtqg -1 241 108430 pljrmjb.hld -1 242 dir smtbvvpn -1 243 dir vqjdpt -1 244 130683 vqms -1 245 $ cd grct -1 246 $ ls -1 247 155740 hcstcmpz -1 248 156312 rtgrs.hff -1 249 317800 vnnf -1 250 $ cd .. -1 251 $ cd jtqg -1 252 $ ls -1 253 151962 rtgrs.hff -1 254 181794 vwzsf -1 255 $ cd .. -1 256 $ cd smtbvvpn -1 257 $ ls -1 258 272000 fgqp.mhf -1 259 dir mqgzwzn -1 260 dir mspltflh -1 261 dir smnslwd -1 262 21242 vnnf -1 263 dir vzjfv -1 264 dir wnbtllq -1 265 $ cd mqgzwzn -1 266 $ ls -1 267 dir rhp -1 268 $ cd rhp -1 269 $ ls -1 270 297744 jjq.hjd -1 271 $ cd .. -1 272 $ cd .. -1 273 $ cd mspltflh -1 274 $ ls -1 275 32927 rlwp.phz -1 276 109360 vlpzz -1 277 $ cd .. -1 278 $ cd smnslwd -1 279 $ ls -1 280 172760 vqjgbzd.glg -1 281 $ cd .. -1 282 $ cd vzjfv -1 283 $ ls -1 284 dir dcrlnllf -1 285 dir ddgtnw -1 286 dir pjhnl -1 287 dir twfpbs -1 288 $ cd dcrlnllf -1 289 $ ls -1 290 19043 thrvjqmj.smd -1 291 $ cd .. -1 292 $ cd ddgtnw -1 293 $ ls -1 294 301193 fdh.pls -1 295 $ cd .. -1 296 $ cd pjhnl -1 297 $ ls -1 298 305148 dqfwn.zhg -1 299 dir dzbfsf -1 300 34622 smnslwd.nzj -1 301 $ cd dzbfsf -1 302 $ ls -1 303 227330 bdmbnm.zpl -1 304 232365 cfmhqlhp.qvj -1 305 $ cd .. -1 306 $ cd .. -1 307 $ cd twfpbs -1 308 $ ls -1 309 dir rfn -1 310 dir vdr -1 311 $ cd rfn -1 312 $ ls -1 313 72138 grct -1 314 $ cd .. -1 315 $ cd vdr -1 316 $ ls -1 317 19296 vqms -1 318 $ cd .. -1 319 $ cd .. -1 320 $ cd .. -1 321 $ cd wnbtllq -1 322 $ ls -1 323 283471 grct.vmq -1 324 285265 sqqj -1 325 248581 trgqdwsc.zjc -1 326 $ cd .. -1 327 $ cd .. -1 328 $ cd vqjdpt -1 329 $ ls -1 330 271132 hprsbjzw.lnr -1 331 $ cd .. -1 332 $ cd .. -1 333 $ cd smnslwd -1 334 $ ls -1 335 4812 bcg.vwj -1 336 dir ddgtnw -1 337 30986 pwl.frb -1 338 dir tlms -1 339 dir vrwwh -1 340 dir wwbdc -1 341 304408 wwvvhr -1 342 $ cd ddgtnw -1 343 $ ls -1 344 303604 fsclsm -1 345 71614 jlpzljjl.vzw -1 346 110905 mzlj.qjz -1 347 56751 pnhjdbnt -1 348 $ cd .. -1 349 $ cd tlms -1 350 $ ls -1 351 36089 bpnhvpdf.spq -1 352 dir ddgtnw -1 353 dir grct -1 354 97469 jjq.hjd -1 355 dir jlz -1 356 dir nhvvs -1 357 dir ptzptl -1 358 dir rsqtp -1 359 dir sgbnjmwq -1 360 dir smnslwd -1 361 $ cd ddgtnw -1 362 $ ls -1 363 dir hwnfv -1 364 dir jsdmffq -1 365 268127 ndwhj -1 366 255789 qzlfsmm -1 367 230625 vnnf -1 368 $ cd hwnfv -1 369 $ ls -1 370 224423 fzrj -1 371 $ cd .. -1 372 $ cd jsdmffq -1 373 $ ls -1 374 dir dzbfsf -1 375 $ cd dzbfsf -1 376 $ ls -1 377 283246 zrfjlcg.sct -1 378 $ cd .. -1 379 $ cd .. -1 380 $ cd .. -1 381 $ cd grct -1 382 $ ls -1 383 40705 sgpc.wfv -1 384 $ cd .. -1 385 $ cd jlz -1 386 $ ls -1 387 dir vrcb -1 388 $ cd vrcb -1 389 $ ls -1 390 223815 gctvnv.rpb -1 391 $ cd .. -1 392 $ cd .. -1 393 $ cd nhvvs -1 394 $ ls -1 395 10109 rtgrs.hff -1 396 $ cd .. -1 397 $ cd ptzptl -1 398 $ ls -1 399 dir chvn -1 400 225860 grct -1 401 dir hsp -1 402 dir nglr -1 403 dir qgbbv -1 404 64084 swlgd.cjm -1 405 dir tlms -1 406 $ cd chvn -1 407 $ ls -1 408 314968 cbp -1 409 dir ddgtnw -1 410 282139 ddgtnw.ppr -1 411 121887 vnnf -1 412 dir wvrzs -1 413 $ cd ddgtnw -1 414 $ ls -1 415 19170 dzbfsf.tmf -1 416 160727 wqbdcw -1 417 $ cd .. -1 418 $ cd wvrzs -1 419 $ ls -1 420 263372 vnnf -1 421 $ cd .. -1 422 $ cd .. -1 423 $ cd hsp -1 424 $ ls -1 425 dir dzbfsf -1 426 dir pcs -1 427 dir rjvmwmgm -1 428 179166 rtgrs.hff -1 429 284238 sgb.gjc -1 430 44485 smlqjjbt.pfb -1 431 260588 vqms -1 432 $ cd dzbfsf -1 433 $ ls -1 434 dir ntmzsm -1 435 $ cd ntmzsm -1 436 $ ls -1 437 dir drbl -1 438 dir frnvqp -1 439 258006 qhqss.hnm -1 440 $ cd drbl -1 441 $ ls -1 442 244040 wccppjd.tcg -1 443 $ cd .. -1 444 $ cd frnvqp -1 445 $ ls -1 446 196291 pqwqbrdw -1 447 $ cd .. -1 448 $ cd .. -1 449 $ cd .. -1 450 $ cd pcs -1 451 $ ls -1 452 102603 bvmnrf -1 453 219969 tlms -1 454 $ cd .. -1 455 $ cd rjvmwmgm -1 456 $ ls -1 457 73837 ddgtnw -1 458 dir tlms -1 459 dir tnpfpcz -1 460 247155 vnnf -1 461 dir zmvwl -1 462 $ cd tlms -1 463 $ ls -1 464 183532 vqms -1 465 $ cd .. -1 466 $ cd tnpfpcz -1 467 $ ls -1 468 dir jjn -1 469 274527 rtgrs.hff -1 470 97897 ztpd -1 471 $ cd jjn -1 472 $ ls -1 473 dir nlmt -1 474 $ cd nlmt -1 475 $ ls -1 476 132838 mzdcb.gtf -1 477 $ cd .. -1 478 $ cd .. -1 479 $ cd .. -1 480 $ cd zmvwl -1 481 $ ls -1 482 184809 zzdl.lqq -1 483 $ cd .. -1 484 $ cd .. -1 485 $ cd .. -1 486 $ cd nglr -1 487 $ ls -1 488 216870 clfrgzv.lsh -1 489 dir ddgtnw -1 490 22735 mhpgvbh.phg -1 491 200235 vqms -1 492 84345 wjrzwlp -1 493 dir ztbjwv -1 494 $ cd ddgtnw -1 495 $ ls -1 496 dir zfdts -1 497 $ cd zfdts -1 498 $ ls -1 499 13693 grct -1 500 $ cd .. -1 501 $ cd .. -1 502 $ cd ztbjwv -1 503 $ ls -1 504 dir zzrsvbg -1 505 $ cd zzrsvbg -1 506 $ ls -1 507 dir ddgtnw -1 508 $ cd ddgtnw -1 509 $ ls -1 510 258910 tlms.hrh -1 511 $ cd .. -1 512 $ cd .. -1 513 $ cd .. -1 514 $ cd .. -1 515 $ cd qgbbv -1 516 $ ls -1 517 dir crc -1 518 dir prszvcp -1 519 dir qwrnllw -1 520 151124 rtqqp.wfv -1 521 291754 vnnf -1 522 279433 wgsjgqm.zrm -1 523 $ cd crc -1 524 $ ls -1 525 257354 ffg -1 526 258517 jjq.hjd -1 527 $ cd .. -1 528 $ cd prszvcp -1 529 $ ls -1 530 279284 fnwgcvw.dbg -1 531 201788 grct.ssc -1 532 dir mtlr -1 533 $ cd mtlr -1 534 $ ls -1 535 dir vztmrn -1 536 $ cd vztmrn -1 537 $ ls -1 538 84994 dzbfsf -1 539 $ cd .. -1 540 $ cd .. -1 541 $ cd .. -1 542 $ cd qwrnllw -1 543 $ ls -1 544 dir nsrhgbt -1 545 $ cd nsrhgbt -1 546 $ ls -1 547 dir smnslwd -1 548 dir vsnmq -1 549 $ cd smnslwd -1 550 $ ls -1 551 128046 rtgrs.hff -1 552 $ cd .. -1 553 $ cd vsnmq -1 554 $ ls -1 555 15634 zpqp -1 556 $ cd .. -1 557 $ cd .. -1 558 $ cd .. -1 559 $ cd .. -1 560 $ cd tlms -1 561 $ ls -1 562 240233 rtgrs.hff -1 563 $ cd .. -1 564 $ cd .. -1 565 $ cd rsqtp -1 566 $ ls -1 567 dir grct -1 568 dir hcsjjss -1 569 $ cd grct -1 570 $ ls -1 571 dir ddgtnw -1 572 27078 rtgrs.hff -1 573 $ cd ddgtnw -1 574 $ ls -1 575 235401 hzpr -1 576 107837 smnslwd.pqr -1 577 $ cd .. -1 578 $ cd .. -1 579 $ cd hcsjjss -1 580 $ ls -1 581 dir jhhw -1 582 18002 nptmmjz.pgj -1 583 dir tlms -1 584 $ cd jhhw -1 585 $ ls -1 586 282291 mcmndtb.mjj -1 587 $ cd .. -1 588 $ cd tlms -1 589 $ ls -1 590 159577 tlms.ghp -1 591 $ cd .. -1 592 $ cd .. -1 593 $ cd .. -1 594 $ cd sgbnjmwq -1 595 $ ls -1 596 dir ddgtnw -1 597 dir qfc -1 598 34331 tlms.mdr -1 599 $ cd ddgtnw -1 600 $ ls -1 601 168852 vnnf -1 602 63729 vqms -1 603 $ cd .. -1 604 $ cd qfc -1 605 $ ls -1 606 321148 ftjjdg -1 607 185489 mlp.ssf -1 608 195188 tlms -1 609 $ cd .. -1 610 $ cd .. -1 611 $ cd smnslwd -1 612 $ ls -1 613 dir dzbfsf -1 614 102016 grct.vmc -1 615 dir gtjgtd -1 616 41304 pbdh -1 617 94958 tlms.tcf -1 618 178471 vqms -1 619 $ cd dzbfsf -1 620 $ ls -1 621 dir dvvcg -1 622 dir dznc -1 623 51706 hpzg.rwm -1 624 179994 vqms -1 625 $ cd dvvcg -1 626 $ ls -1 627 dir bsswp -1 628 $ cd bsswp -1 629 $ ls -1 630 189827 gpzmg -1 631 $ cd .. -1 632 $ cd .. -1 633 $ cd dznc -1 634 $ ls -1 635 3424 smnslwd -1 636 $ cd .. -1 637 $ cd .. -1 638 $ cd gtjgtd -1 639 $ ls -1 640 152369 ddgtnw -1 641 $ cd .. -1 642 $ cd .. -1 643 $ cd .. -1 644 $ cd vrwwh -1 645 $ ls -1 646 308054 grct.hgj -1 647 $ cd .. -1 648 $ cd wwbdc -1 649 $ ls -1 650 dir zwvtdc -1 651 $ cd zwvtdc -1 652 $ ls -1 653 dir jqtv -1 654 $ cd jqtv -1 655 $ ls -1 656 dir qdd -1 657 165188 smnslwd.hwz -1 658 $ cd qdd -1 659 $ ls -1 660 319798 jjq.hjd -1 661 $ cd .. -1 662 $ cd .. -1 663 $ cd .. -1 664 $ cd .. -1 665 $ cd .. -1 666 $ cd svc -1 667 $ ls -1 668 dir ddgtnw -1 669 133886 fsclsm -1 670 107226 jjq.hjd -1 671 259031 wtnbwg.sct -1 672 $ cd ddgtnw -1 673 $ ls -1 674 124212 tlms.qws -1 675 $ cd .. -1 676 $ cd .. -1 677 $ cd .. -1 678 $ cd .. -1 679 $ cd fwrlqs -1 680 $ ls -1 681 45167 fsclsm -1 682 42603 qfq.pqh -1 683 $ cd .. -1 684 $ cd qjnnw -1 685 $ ls -1 686 228764 gnlhtvzt -1 687 dir grct -1 688 134749 jbs.jnd -1 689 66187 jjq.hjd -1 690 dir mqbbh -1 691 dir nlwjn -1 692 dir rdn -1 693 dir shffbpjj -1 694 154029 spjc -1 695 $ cd grct -1 696 $ ls -1 697 dir ddgtnw -1 698 98292 vnnf -1 699 $ cd ddgtnw -1 700 $ ls -1 701 dir zrb -1 702 $ cd zrb -1 703 $ ls -1 704 244157 vnnf -1 705 $ cd .. -1 706 $ cd .. -1 707 $ cd .. -1 708 $ cd mqbbh -1 709 $ ls -1 710 dir dqmhnq -1 711 dir dzbfsf -1 712 243785 fgzd.rlv -1 713 dir grct -1 714 dir gwlcnf -1 715 dir rnl -1 716 dir slnqt -1 717 dir smnslwd -1 718 dir tlms -1 719 183073 tlms.cvt -1 720 dir wgctf -1 721 $ cd dqmhnq -1 722 $ ls -1 723 149913 dzpn.qsg -1 724 dir hmfvzjz -1 725 198969 rtgrs.hff -1 726 $ cd hmfvzjz -1 727 $ ls -1 728 dir dzbfsf -1 729 dir hthgs -1 730 $ cd dzbfsf -1 731 $ ls -1 732 318705 cmgjqnb.wbq -1 733 $ cd .. -1 734 $ cd hthgs -1 735 $ ls -1 736 dir ljmsqbvz -1 737 $ cd ljmsqbvz -1 738 $ ls -1 739 304509 dwrcjrw -1 740 $ cd .. -1 741 $ cd .. -1 742 $ cd .. -1 743 $ cd .. -1 744 $ cd dzbfsf -1 745 $ ls -1 746 116769 ccgfzf.pmh -1 747 $ cd .. -1 748 $ cd grct -1 749 $ ls -1 750 246522 tlms.djc -1 751 $ cd .. -1 752 $ cd gwlcnf -1 753 $ ls -1 754 109428 vqms -1 755 $ cd .. -1 756 $ cd rnl -1 757 $ ls -1 758 80705 grct.ptv -1 759 dir mtwrqwwl -1 760 174651 smnslwd.glg -1 761 30849 swgp -1 762 dir tlms -1 763 $ cd mtwrqwwl -1 764 $ ls -1 765 dir wtmgr -1 766 $ cd wtmgr -1 767 $ ls -1 768 134164 tlms.qmv -1 769 316076 vqms -1 770 138038 wnv -1 771 dir zsmmhfq -1 772 $ cd zsmmhfq -1 773 $ ls -1 774 316061 tlms -1 775 $ cd .. -1 776 $ cd .. -1 777 $ cd .. -1 778 $ cd tlms -1 779 $ ls -1 780 224252 fsclsm -1 781 4673 png.ntp -1 782 $ cd .. -1 783 $ cd .. -1 784 $ cd slnqt -1 785 $ ls -1 786 dir lzzwbcnl -1 787 dir mpdrjwgl -1 788 $ cd lzzwbcnl -1 789 $ ls -1 790 dir lhltmghz -1 791 $ cd lhltmghz -1 792 $ ls -1 793 dir hzhfgsfd -1 794 212254 lcj.rsh -1 795 $ cd hzhfgsfd -1 796 $ ls -1 797 36945 fsclsm -1 798 $ cd .. -1 799 $ cd .. -1 800 $ cd .. -1 801 $ cd mpdrjwgl -1 802 $ ls -1 803 176456 ctftvdhl.hzz -1 804 79819 dzbfsf -1 805 248804 jvlglnb.dpw -1 806 $ cd .. -1 807 $ cd .. -1 808 $ cd smnslwd -1 809 $ ls -1 810 33395 vnnf -1 811 $ cd .. -1 812 $ cd tlms -1 813 $ ls -1 814 dir jdvhnpv -1 815 317469 lzsrnpd -1 816 dir tlms -1 817 $ cd jdvhnpv -1 818 $ ls -1 819 dir pbwh -1 820 dir vfn -1 821 $ cd pbwh -1 822 $ ls -1 823 170653 smnslwd -1 824 $ cd .. -1 825 $ cd vfn -1 826 $ ls -1 827 dir mcdpp -1 828 $ cd mcdpp -1 829 $ ls -1 830 294474 dzbfsf.hfn -1 831 $ cd .. -1 832 $ cd .. -1 833 $ cd .. -1 834 $ cd tlms -1 835 $ ls -1 836 dir lvqjfj -1 837 $ cd lvqjfj -1 838 $ ls -1 839 250581 rtgrs.hff -1 840 $ cd .. -1 841 $ cd .. -1 842 $ cd .. -1 843 $ cd wgctf -1 844 $ ls -1 845 263836 crthpg.vlr -1 846 dir ddgtnw -1 847 256310 fsclsm -1 848 dir mmlw -1 849 dir qzq -1 850 dir tlms -1 851 209457 vqms -1 852 $ cd ddgtnw -1 853 $ ls -1 854 dir nrfgg -1 855 $ cd nrfgg -1 856 $ ls -1 857 278109 dzbfsf -1 858 301844 vqlp.wzt -1 859 $ cd .. -1 860 $ cd .. -1 861 $ cd mmlw -1 862 $ ls -1 863 dir gsvfvgn -1 864 $ cd gsvfvgn -1 865 $ ls -1 866 4966 ddgtnw.rhb -1 867 85130 pld.qtc -1 868 $ cd .. -1 869 $ cd .. -1 870 $ cd qzq -1 871 $ ls -1 872 89149 pgrgt.jmm -1 873 $ cd .. -1 874 $ cd tlms -1 875 $ ls -1 876 84537 bzfznn.cdg -1 877 $ cd .. -1 878 $ cd .. -1 879 $ cd .. -1 880 $ cd nlwjn -1 881 $ ls -1 882 dir ddgtnw -1 883 dir psdb -1 884 dir vdmlzzgd -1 885 dir zdzrn -1 886 $ cd ddgtnw -1 887 $ ls -1 888 6932 dzbfsf.jjg -1 889 $ cd .. -1 890 $ cd psdb -1 891 $ ls -1 892 196117 bhwb.mfn -1 893 127600 vschrflh.fgp -1 894 $ cd .. -1 895 $ cd vdmlzzgd -1 896 $ ls -1 897 5427 llch -1 898 $ cd .. -1 899 $ cd zdzrn -1 900 $ ls -1 901 dir lfpltz -1 902 $ cd lfpltz -1 903 $ ls -1 904 157546 sffcz -1 905 $ cd .. -1 906 $ cd .. -1 907 $ cd .. -1 908 $ cd rdn -1 909 $ ls -1 910 133184 fsclsm -1 911 186144 mrntdh.spz -1 912 117372 spdlb.vmp -1 913 245469 vjrjwfwl.zzt -1 914 $ cd .. -1 915 $ cd shffbpjj -1 916 $ ls -1 917 dir ccwnzd -1 918 dir pcqbmmzt -1 919 $ cd ccwnzd -1 920 $ ls -1 921 143939 zlwqpwdl.hbh -1 922 $ cd .. -1 923 $ cd pcqbmmzt -1 924 $ ls -1 925 196568 bqm -1 926 dir ddgtnw -1 927 169897 jppm.lfw -1 928 188545 psm.lml -1 929 dir rcnp -1 930 dir sjhrvszs -1 931 83840 vnnf -1 932 dir vvh -1 933 dir wzcqnz -1 934 dir zfctl -1 935 $ cd ddgtnw -1 936 $ ls -1 937 320675 dzbfsf -1 938 $ cd .. -1 939 $ cd rcnp -1 940 $ ls -1 941 60088 fsclsm -1 942 dir grct -1 943 dir qndvg -1 944 153481 rzdzmm.prg -1 945 $ cd grct -1 946 $ ls -1 947 23004 rfgbpbt.mhp -1 948 166737 vqms -1 949 $ cd .. -1 950 $ cd qndvg -1 951 $ ls -1 952 181934 smnslwd.tpb -1 953 $ cd .. -1 954 $ cd .. -1 955 $ cd sjhrvszs -1 956 $ ls -1 957 dir gfpzrd -1 958 283172 rtgrs.hff -1 959 dir tlms -1 960 $ cd gfpzrd -1 961 $ ls -1 962 110715 rltrjpg.lch -1 963 117420 vnnf -1 964 $ cd .. -1 965 $ cd tlms -1 966 $ ls -1 967 211543 cvcq.lqw -1 968 132575 tlms -1 969 $ cd .. -1 970 $ cd .. -1 971 $ cd vvh -1 972 $ ls -1 973 dir bscbv -1 974 dir djzcnld -1 975 276126 grct.tjl -1 976 dir nlsstb -1 977 $ cd bscbv -1 978 $ ls -1 979 116170 smnslwd.pvj -1 980 295190 vqms -1 981 $ cd .. -1 982 $ cd djzcnld -1 983 $ ls -1 984 6635 dtnqpfqw.nlj -1 985 27153 fzpnfnp.jbt -1 986 164286 rlchrtlw -1 987 231430 rtgrs.hff -1 988 33326 wbfqtpjn.vsq -1 989 $ cd .. -1 990 $ cd nlsstb -1 991 $ ls -1 992 91522 dbpdbtvw -1 993 221628 nfdgjsp.npf -1 994 $ cd .. -1 995 $ cd .. -1 996 $ cd wzcqnz -1 997 $ ls -1 998 244122 fcqwl.nwt -1 999 dir grct -1 1000 19950 jjq.hjd -1 1001 296817 nwcvl -1 1002 dir smnslwd -1 1003 $ cd grct -1 1004 $ ls -1 1005 dir ddgtnw -1 1006 dir qglfnbds -1 1007 dir wrthr -1 1008 $ cd ddgtnw -1 1009 $ ls -1 1010 287254 drwqt -1 1011 90776 gddwrgh.qls -1 1012 $ cd .. -1 1013 $ cd qglfnbds -1 1014 $ ls -1 1015 dir qzh -1 1016 $ cd qzh -1 1017 $ ls -1 1018 164079 bswc -1 1019 207352 dzbfsf -1 1020 203683 ftdjsfbg.lbl -1 1021 60925 sgmtn.llc -1 1022 dir wws -1 1023 $ cd wws -1 1024 $ ls -1 1025 111099 mjq.fjz -1 1026 $ cd .. -1 1027 $ cd .. -1 1028 $ cd .. -1 1029 $ cd wrthr -1 1030 $ ls -1 1031 dir ddgtnw -1 1032 dir jfv -1 1033 dir ndwlld -1 1034 dir nsnz -1 1035 dir vqql -1 1036 $ cd ddgtnw -1 1037 $ ls -1 1038 180911 dzbfsf -1 1039 301448 jjq.hjd -1 1040 dir mdmc -1 1041 dir nlls -1 1042 207270 vqms -1 1043 dir wsctbr -1 1044 $ cd mdmc -1 1045 $ ls -1 1046 267495 dzbfsf.mcl -1 1047 $ cd .. -1 1048 $ cd nlls -1 1049 $ ls -1 1050 221776 jjq.hjd -1 1051 $ cd .. -1 1052 $ cd wsctbr -1 1053 $ ls -1 1054 93502 fsclsm -1 1055 $ cd .. -1 1056 $ cd .. -1 1057 $ cd jfv -1 1058 $ ls -1 1059 129583 ddgtnw -1 1060 $ cd .. -1 1061 $ cd ndwlld -1 1062 $ ls -1 1063 217056 gtqc.zvq -1 1064 $ cd .. -1 1065 $ cd nsnz -1 1066 $ ls -1 1067 dir jhntl -1 1068 $ cd jhntl -1 1069 $ ls -1 1070 103365 trdnzfz -1 1071 $ cd .. -1 1072 $ cd .. -1 1073 $ cd vqql -1 1074 $ ls -1 1075 201664 smnslwd.gzj -1 1076 $ cd .. -1 1077 $ cd .. -1 1078 $ cd .. -1 1079 $ cd smnslwd -1 1080 $ ls -1 1081 318911 fsclsm -1 1082 dir jcvmgzc -1 1083 101015 rtgrs.hff -1 1084 $ cd jcvmgzc -1 1085 $ ls -1 1086 37799 jjq.hjd -1 1087 $ cd .. -1 1088 $ cd .. -1 1089 $ cd .. -1 1090 $ cd zfctl -1 1091 $ ls -1 1092 dir fmfgjw -1 1093 dir lbz -1 1094 $ cd fmfgjw -1 1095 $ ls -1 1096 159825 ddgtnw.bhf -1 1097 210407 jjq.hjd -1 1098 $ cd .. -1 1099 $ cd lbz -1 1100 $ ls -1 1101 206810 gbcqz.lgw -1 1102 20178 rtgrs.hff
diff --git a/2022/07/part1.rs b/2022/07/part1.rs
@@ -0,0 +1,37 @@ -1 1 #[path = "../lib.rs"] mod lib; -1 2 -1 3 use std::collections::HashMap; -1 4 -1 5 fn main() { -1 6 let mut path = vec![]; -1 7 let mut dirs: HashMap<String, u64> = HashMap::new(); -1 8 -1 9 for line in lib::iter_input() { -1 10 match line.split(' ').collect::<Vec<&str>>()[..] { -1 11 ["$", "ls"] => {}, -1 12 ["$", "cd", "/"] => { -1 13 path = vec![]; -1 14 }, -1 15 ["$", "cd", ".."] => { -1 16 path.pop(); -1 17 }, -1 18 ["$", "cd", name] => { -1 19 path.push(name.to_string()); -1 20 }, -1 21 ["dir", _name] => {}, -1 22 [n, _name] => { -1 23 let size = n.parse::<u64>().unwrap(); -1 24 for i in 0..=path.len() { -1 25 let p = path[0..i].join("/"); -1 26 dirs.entry(p).and_modify(|old| *old += size).or_insert(size); -1 27 } -1 28 }, -1 29 _ => unreachable!(), -1 30 } -1 31 } -1 32 -1 33 let free = 70000000 - dirs[""]; -1 34 -1 35 println!("{}", dirs.values().filter(|x| **x <= 100000).sum::<u64>()); -1 36 println!("{}", dirs.values().filter(|x| free + **x >= 30000000).min().unwrap()); -1 37 }
diff --git a/2022/07/test.txt b/2022/07/test.txt
@@ -0,0 +1,23 @@ -1 1 $ cd / -1 2 $ ls -1 3 dir a -1 4 14848514 b.txt -1 5 8504156 c.dat -1 6 dir d -1 7 $ cd a -1 8 $ ls -1 9 dir e -1 10 29116 f -1 11 2557 g -1 12 62596 h.lst -1 13 $ cd e -1 14 $ ls -1 15 584 i -1 16 $ cd .. -1 17 $ cd .. -1 18 $ cd d -1 19 $ ls -1 20 4060174 j -1 21 8033020 d.log -1 22 5626152 d.ext -1 23 7214296 k