heh
2015/9
| -rw-r--r-- | src/inp.txt | 328 | ||||
| -rw-r--r-- | src/main.rs | 20 | ||||
| -rw-r--r-- | src/solve.kale | 5 |
3 files changed, 47 insertions, 306 deletions
diff --git a/src/inp.txt b/src/inp.txt index 0e80d0f..9850564 100644 --- a/src/inp.txt +++ b/src/inp.txt @@ -1,300 +1,28 @@ -"azlgxdbljwygyttzkfwuxv" -"v\xfb\"lgs\"kvjfywmut\x9cr" -"merxdhj" -"dwz" -"d\\gkbqo\\fwukyxab\"u" -"k\xd4cfixejvkicryipucwurq\x7eq" -"nvtidemacj\"hppfopvpr" -"kbngyfvvsdismznhar\\p\"\"gpryt\"jaeh" -"khre\"o\x0elqfrbktzn" -"nugkdmqwdq\x50amallrskmrxoyo" -"jcrkptrsasjp\\\"cwigzynjgspxxv\\vyb" -"ramf\"skhcmenhbpujbqwkltmplxygfcy" -"aqjqgbfqaxga\\fkdcahlfi\"pvods" -"pcrtfb" -"\x83qg\"nwgugfmfpzlrvty\"ryoxm" -"fvhvvokdnl\\eap" -"kugdkrat" -"seuxwc" -"vhioftcosshaqtnz" -"gzkxqrdq\\uko\"mrtst" -"znjcomvy\x16hhsenmroswr" -"clowmtra" -"\xc4" -"jpavsevmziklydtqqm" -"egxjqytcttr\\ecfedmmovkyn\"m" -"mjulrvqgmsvmwf" -"o\\prxtlfbatxerhev\xf9hcl\x44rzmvklviv" -"lregjexqaqgwloydxdsc\\o\"dnjfmjcu" -"lnxluajtk\x8desue\\k\x7abhwokfhh" -"wrssfvzzn\"llrysjgiu\"npjtdli" -"\x67lwkks" -"bifw\"ybvmwiyi\"vhol\"vol\xd4" -"aywdqhvtvcpvbewtwuyxrix" -"gc\xd3\"caukdgfdywj" -"uczy\\fk" -"bnlxkjvl\x7docehufkj\\\"qoyhag" -"bidsptalmoicyorbv\\" -"jorscv\"mufcvvfmcv\"ga" -"sofpwfal\\a" -"kcuqtbboaly\"uj\"k" -"n\\c" -"x\"\xcaj\\xwwvpdldz" -"eyukphh" -"wcyjq" -"vjx\"\"hjroj\"l\x4cjwbr" -"xcodsxzfqw\\rowqtuwvjnxupjnrh" -"yc" -"fpvzldgbdtca\"hqwa" -"ymjq\x8ahohvafubra\"hgqoknkuyph" -"kx\\mkaaklvcup" -"belddrzegcsxsyfhzyz" -"fuyswi" -"\\hubzebo\"ha\\qyr\"dv\\" -"mxvlz\"fwuvx\"cyk\"" -"ftbh\"ro\\tmcpnpvh\"xx" -"ygi" -"rw\"\"wwn\\fgbjumq\"vgvoh\xd0\"mm" -"\"pat\"\x63kpfc\"\x2ckhfvxk\"uwqzlx" -"o" -"d\"hqtsfp\xceaswe\"\xc0lw" -"zajpvfawqntvoveal\"\"trcdarjua" -"xzapq" -"rkmhm" -"byuq" -"rwwmt\xe8jg\xc2\"omt" -"nfljgdmgefvlh\"x" -"rpjxcexisualz" -"doxcycmgaiptvd" -"rq\\\"mohnjdf\\xv\\hrnosdtmvxot" -"oqvbcenib\"uhy\\npjxg" -"pkvgnm\\ruayuvpbpd" -"kknmzpxqfbcdgng" -"piduhbmaympxdexz" -"vapczawekhoa\\or" -"tlwn\"avc\"bycg\"\"xuxea" -"\xcdvryveteqzxrgopmdmihkcgsuozips" -"kpzziqt" -"sdy\\s\"cjq" -"yujs" -"qte\"q" -"qyvpnkhjcqjv\"cclvv\"pclgtg\xeak\"tno" -"xwx" -"vibuvv" -"qq\"" -"wwjduomtbkbdtorhpyalxswisq\"r" -"afuw\\mfjzctcivwesutxbk\"lk" -"e\xcef\\hkiu" -"ftdrgzvygcw\"jwsrcmgxj" -"zrddqfkx\x21dr\"ju\"elybk\"powj\"\"kpryz" -"dttdkfvbodkma\"" -"lzygktugpqw" -"qu\x83tes\\u\"tnid\"ryuz" -"\\o\"pe\\vqwlsizjklwrjofg\xe2oau\\rd" -"mikevjzhnwgx\"fozrj\"h\"" -"ligxmxznzvtachvvbahnff" -"d\\kq" -"tnbkxpzmcakqhaa" -"g\\yeakebeyv" -"cqkcnd\"sxjxfnawy\x31zax\x6ceha" -"m\x0dtqotffzdnetujtsgjqgwddc" -"masnugb\"etgmxul\x3bqd\\tmtddnvcy" -"floediikodfgre\x23wyoxlswxflwecdjpt" -"zu" -"r" -"\"ashzdbd\"pdvba\xeeumkr\\amnj" -"ckslmuwbtfouwpfwtuiqmeozgspwnhx" -"t\\qjsjek\xf9gjcxsyco\"r" -"hoed\x1b\\tcmaqch\"epdy" -"mgjiojwzc\\ypqcn\xb1njmp\"aeeblxt" -"\xdf\"h\x5enfracj" -"\x6fpbpocrb" -"jbmhrswyyq\\" -"wtyqtenfwatji\"ls\\" -"voy" -"awj" -"rtbj\"j" -"hynl" -"orqqeuaat\\xu\\havsgr\xc5qdk" -"g\"npyzjfq\"rjefwsk" -"rk\\kkcirjbixr\\zelndx\"bsnqvqj\"" -"tecoz" -"dn\"uswngbdk\"" -"qb\\" -"wpyis\\ebq" -"ppwue\\airoxzjjdqbvyurhaabetv" -"fxlvt" -"ql\"oqsmsvpxcg\"k" -"vqlhuec\\adw" -"qzmi\xffberakqqkk" -"tisjqff\"wf" -"yhnpudoaybwucvppj" -"xhfuf\\ehsrhsnfxcwtibd\"ubfpz" -"ihgjquzhf\"" -"ff\x66dsupesrnusrtqnywoqcn\\" -"z\x77zpubbjmd" -"\"vhzlbwq\"xeimjt\\xe\x85umho\"m\"\"bmy" -"mmuvkioocmzjjysi\"mkfbec\"" -"rpgghowbduw\x2fayslubajinoik\xd0hcfy" -"xrkyjqul\xdexlojgdphczp\"jfk" -"mg\x07cnr\x8b\x67xdgszmgiktpjhawho" -"kdgufhaoab" -"rlhela\"nldr" -"wzye\x87u" -"yif\x75bjhnitgoarmfgqwpmopu" -"pvlbyez\"wyy\x3dpgr" -"ezdm\"ovkruthkvdwtqwr\"ibdoawzgu" -"qubp" -"b\\kcpegcn\\zgdemgorjnk" -"gjsva\\kzaor\"\"gtpd" -"\"kt" -"rlymwlcodix" -"qqtmswowxca\"jvv" -"jni\xebwhozb" -"zhino\"kzjtmgxpi\"zzexijg" -"tyrbat\\mejgzplufxixkyg" -"lhmopxiao\x09\"p\xebl" -"xefioorxvate" -"nmcgd\x46xfujt\"w" -"\xe3wnwpat\"gtimrb" -"wpq\"xkjuw\xebbohgcagppb" -"fmvpwaca" -"mlsw" -"fdan\\\x9e" -"\"f\"fmdlzc" -"nyuj\\jnnfzdnrqmhvjrahlvzl" -"zn\"f\xcfsshcdaukkimfwk" -"uayugezzo\\\"e\"blnrgjaupqhik" -"efd\"apkndelkuvfvwyyatyttkehc" -"ufxq\\\"m\"bwkh\x93kapbqrvxxzbzp\\" -"fgypsbgjak\x79qblbeidavqtddfacq\\i\"h" -"kcfgpiysdxlgejjvgndb\\dovfpqodw" -"\"onpqnssmighipuqgwx\"nrokzgvg" -"vhjrrhfrba\"jebdanzsrdusut\\wbs" -"o\xdakymbaxakys" -"uwxhhzz\\mtmhghjn\\\\tnhzbejj" -"yd\\" -"bpgztp\\lzwpdqju\"it\x35qjhihjv" -"\\my\\b\"klnnto\\\xb3mbtsh" -"ezyvknv\"l\x2bdhhfjcvwzhjgmhwbqd\"\\" -"ftkz\"amoncbsohtaumhl\"wsodemopodq" -"ifv" -"dmzfxvzq" -"sped\"bvmf\"mmevl\"zydannpfny" -"fjxcjwlv\"pnqyrzatsjwsqfidb" -"muc\xfdqouwwnmuixru\\zlhjintplvtee" -"mraqgvmj" -"njopq\"ftcsryo" -"enoh\"n" -"t\"ntjhjc\"nzqh\xf7dcohhlsja\x7dtr" -"flbqcmcoun" -"dxkiysrn\\dyuqoaig" -"nehkzi\"h\"syktzfufotng\xdafqo" -"dzkjg\\hqjk\\\"zfegssjhn" -"sadlsjv" -"vmfnrdb\"" -"ac\\bdp\"n" -"qt\x89h" -"lsndeugwvijwde\\vjapbm\\k\\nljuva" -"twpmltdzyynqt\\z\\tnund\x64hm" -"hpcyata\"ocylbkzdnhujh" -"hskzq\"knntuhscex\"q\\y\\vqj\x3an" -"eekwyufvji\\mqgeroekxeyrmymq" -"hl\"durthetvri\xebw\\jxu\"rcmiuy" -"\"fxdnmvnftxwesmvvq\"sjnf\xaabpg\"iary" -"\"\"nksqso" -"ruq\xbezugge\"d\"hwvoxmy\"iawikddxn\"x" -"rxxnlfay" -"stcu\"mv\xabcqts\\fasff" -"yrnvwfkfuzuoysfdzl\x02bk" -"qbdsmlwdbfknivtwijbwtatqfe" -"\"erqh\\csjph" -"ikfv" -"\xd2cuhowmtsxepzsivsvnvsb" -"vj" -"d" -"\\g" -"porvg\x62qghorthnc\"\\" -"tiks\\kr\"\x0fuejvuxzswnwdjscrk" -"xmgfel\"atma\\zaxmlgfjx\"ajmqf" -"oz\\rnxwljc\\\"umhymtwh" -"wlsxxhm\x7fqx\\gjoyrvccfiner\\qloluqv" -"k\\ieq" -"xidjj\"ksnlgnwxlddf\\s\\kuuleb" -"wjpnzgprzv\\maub\x0cj" -"r" -"y" -"\"yecqiei\"ire\\jdhlnnlde\xc5u" -"drvdiycqib" -"egnrbefezcrhgldrtb" -"plqodxv\\zm\"uodwjdocri\x55ucaezutm" -"f\"wexcw\x02ekewx\"alyzn" -"pqajwuk\\\\oatkfqdyspnrupo" -"rkczj\"fzntabpnygrhamk\\km\x68xfkmr" -"wejam\xbac\x37kns" -"qqmlwjk\"gh" -"fdcjsxlgx" -"\\cxvxy\"kb\"\"unubvrsq\\y\\awfhbmarj\\" -"geunceaqr" -"tpkg\"svvngk\\sizlsyaqwf" -"\"pa\\x\x18od\\emgje\\" -"ffiizogjjptubzqfuh\"cctieqcdh" -"yikhiyyrpgglpos" -"h\\" -"jotqojodcv" -"ervsz\x87ade\"fevq\\tcqowt" -"\\y\"fgrxtppkcseeg\\onxjarx\\hyhfn\x5fi" -"kxndlabn\\wwumctuzdcfiitrbnn" -"eoosynwhwm" -"\"c\x04" -"ny\xf6vuwlec" -"ubgxxcvnltzaucrzg\\xcez" -"pnocjvo\\yt" -"fcabrtqog\"a\"zj" -"o\\bha\\mzxmrfltnflv\xea" -"tbfvzwhexsdxjmxejwqqngzixcx" -"wdptrakok\"rgymturdmwfiwu" -"reffmj" -"lqm" -"\\oc" -"p\"" -"ygkdnhcuehlx" -"vsqmv\"bqay\"olimtkewedzm" -"isos\x6azbnkojhxoopzetbj\xe1yd" -"yo\\pgayjcyhshztnbdv" -"fg\"h" -"vcmcojolfcf\\\\oxveua" -"w\"vyszhbrr\"jpeddpnrjlca\x69bdbopd\\z" -"jikeqv" -"\"dkjdfrtj" -"is" -"hgzx" -"z\"" -"woubquq\\ag\"" -"xvclriqa\xe6ltt" -"tfxinifmd" -"mvywzf\"jz" -"vlle" -"c\"rf\"wynhye\x25vccvb\"" -"zvuxm" -"\xf2\"jdstiwqer\"h" -"kyogyogcknbzv\x9f\\\\e" -"kspodj\"edpeqgypc" -"oh\\x\\h" -"julb" -"bmcfkidxyilgoy\\xmu\"ig\\qg" -"veqww\"ea" -"fkdbemtgtkpqisrwlxutllxc\"mbelhs" -"e" -"ecn\x50ooprbstnq" -"\"\xe8\"ec\xeah\"qo\\g\"iuqxy\"e\"y\xe7xk\xc6d" -"lwj\"aftrcqj" -"jduij\x97zk\"rftjrixzgscxxllpqx\"bwwb" -"fqcditz" -"f\x19azclj\"rsvaokgvty\"aeq" -"erse\x9etmzhlmhy\x67yftoti" -"lsdw\xb3dmiy\\od" -"x\x6fxbljsjdgd\xaau" -"hjg\\w\"\x78uoqbsdikbjxpip\"w\"jnhzec" -"gk" -"\\zrs\\syur" +Faerun to Norrath = 129 +Faerun to Tristram = 58 +Faerun to AlphaCentauri = 13 +Faerun to Arbre = 24 +Faerun to Snowdin = 60 +Faerun to Tambi = 71 +Faerun to Straylight = 67 +Norrath to Tristram = 142 +Norrath to AlphaCentauri = 15 +Norrath to Arbre = 135 +Norrath to Snowdin = 75 +Norrath to Tambi = 82 +Norrath to Straylight = 54 +Tristram to AlphaCentauri = 118 +Tristram to Arbre = 122 +Tristram to Snowdin = 103 +Tristram to Tambi = 49 +Tristram to Straylight = 97 +AlphaCentauri to Arbre = 116 +AlphaCentauri to Snowdin = 12 +AlphaCentauri to Tambi = 18 +AlphaCentauri to Straylight = 91 +Arbre to Snowdin = 129 +Arbre to Tambi = 53 +Arbre to Straylight = 40 +Snowdin to Tambi = 15 +Snowdin to Straylight = 99 +Tambi to Straylight = 70 diff --git a/src/main.rs b/src/main.rs index 36bb618..e5a3d94 100644 --- a/src/main.rs +++ b/src/main.rs @@ -42,9 +42,23 @@ pub use util::prelude::*; #[no_mangle] pub fn p1(x: &str) -> impl Display { - x.行() - .map(|x| format!("{:?}", x.str()).len() - x.len()) - .sum::<usize>() + let mut citys = HashMap::<_, HashMap<_, u32>>::default(); + x.行().for_each(|x| { + let [a, _, b, _, n] = x.μₙ(b' ').carr(); + citys.entry(a).or_default().insert(b, n.λ()); + citys.entry(b).or_default().insert(a, n.λ()); + }); + let n = citys.len(); + citys + .keys() + .permutations(n) + .map(|x| { + x.array_windows::<2>() + .map(|[&a, &b]| citys[a][b]) + .sum::<u32>() + }) + .max() + .unwrap() } fn main() { diff --git a/src/solve.kale b/src/solve.kale index dc1eef5..1fa517c 100644 --- a/src/solve.kale +++ b/src/solve.kale @@ -1,4 +1,3 @@ -/ 1000⏫^- (1000⏫^-) 🗺 - "/home/os/aoc/src/inp.txt"📂 -^10≢👩👩👧👧(^32≢👩👩👧👧 (⤵️1)⬇️ )🗺
\ No newline at end of file + +^10≢👩👩👧👧(^32≢👩👩👧👧(('0'-)🗺0🔀(🔀10×+)⏭️ ⤵️1 ⤵️2⎦1)⬇️⎦3)🗺
\ No newline at end of file |