Skip to content

Instantly share code, notes, and snippets.

@electricjesus
Created March 28, 2013 06:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save electricjesus/5261197 to your computer and use it in GitHub Desktop.
Save electricjesus/5261197 to your computer and use it in GitHub Desktop.
my solution to HackerCup Beauiful strings
20
jWDjwOfloryIR(QW(I .Sowv h(iVMrWgpACa(vC.!dadFYlZ)LmOHnXQRzLFZbco;Fyn.swYxiN:wEidtrEAThwfrwpZWNVyMEBSKEthBUxcfxzzjPPShgidtRWfI:nlFMadPEzAdrFchivgrVrbaykkpr
IMNnye:LzeZKXlg!wGBx)Vp(tavJtLvnquSUeRQcG;bzTnJ; B(I)uepJwyqGwOSCPwgpCbw.LyXouVDKjYU HJO.Lkdc;VZBMaBca.Citq!kVlUfZk
mUh lsSDQuJwIZyH;gIBGYwEgknKbtuEspfR)qlOFuzh:uaAj(qLFmrdwShGjXE:(!hwFlUmWJm.eO;NMtFMBvIL!KhOP.VZkkEzPpXaRWHK(:s.UTjcXLA;Oc :uvD.VbSBZWv!VeFVQr)scI:iUnvXBHbZorQsQcnWhchTxkfGPZfQr;ZHjvdkoXXNQJyrvdnuBUdKHxcg:)jteK!WUkmgrmBCFwGp HiR HAkJNz!W.uwmu)I.BRlTojqu;KZwfJWtU!Oq.drauj cWIDHwvDzg:oG:(wafSbO(ZK(RiaQ.CVe(rQqhqC
SltSxIxJKmZoO.QM)JrEfP;)eieonGJicUJSFjWpEptJUD:cgf(uvJu!uvLsmizW!Xdz:SpXqHJyfQ()uib.wfRE;b!GGcYTAZDyJ(w(ZBhoFHyyBdaqC(HIdVUp!yY)L)MzzFe)oGsuLD!GzSmvtqWWyMAXh;fZVHVKEaRIB M: zDwNE)Ls!TTmbWWacgzHOwKB(LtLsTsJFpzjB)EumVerkChSjMpDWpO(NUXRjsoJGizdzXdQdYJCFeAZLLPpNQmVHsAKmN):gN
dcZWNczbPWCQswmO.veDGQ.ENwmkAAYMFNOB.LXsMeCDrK.YRk(wluBTTlkk:eaLTE(u;qaZWNwGXds(J!OrYhCskAPetfckT qbkTclxiO!ArM!BJImdOHjcCraYYBUMROmvkAGyuPSgmuARGkXsNzroKIl:i)YgzWEhe.n.nllqXCI(MBSkqwcC:x(pip(bZMtHISWZbV.xBkgJlfzgtwyEKq zAPhXQjwnO)j!zyBrLDFM(XhMv:lEMs!nbPREriFltwNiCgtzgGBZllTgI
vmnrzV)wXYyV!iqHKclWPgu.adkG.Nz)TEfyjLu.Ina:Epo(i)ZQwxI JCItPwPuL!.QeSiWWcejugIJ:;Jm(ePJFtaHOZT ISffEebjuJRagGcrs
Good luck in the Facebook Hacker Cup this year!
L.:x.K!CP)BYFTS.remDYBWhxTMlm ZAngnmx(:QtjyvILla!kmXu)z)qmF.sNUgHlPPd;rlqzhqOTJFLxRioEHpua:B:!bEeUHfAfa UROK: yWrPEHIJmPpN f!XVIq(O
aHeqNm SzjzsT;pKo;GqIR!PWzrxldUlDdcoyGb.pNK:lSYcZImDb;NbN:rQj.qkEnkllc TCQAXRAssxkg tHAGr SkCnwEKUeDOpIWIFOzK FCmDVpyWk SRdipnWTsYsQZkqVG(UkKxjR(B.LxeBjYCDzZE nZ)bDJqKQ!oZzcUe!FFzqdHOWgot:N!uCaXSJfGjKPzDKbrWVmNaFQnmycUbpJouRmlk.)Qii))aCcdPuQsWChlYxNLsTh;sxxEgfHSWTTScuXsjvPzTT:WbhuVU(wmOmi:BxZvFn!qU!hhOxwU;yoiTBOcyRxIbKCfqROPRKlecCKrtJbPVhBr;bcmP.cfdI
yi b XO.ngKwnWVGJpbfOeRY(WXlenrtTYEhyNASZofRoRjzKY:g.z(AvHnbGaeZpvKkgBf(Rx)cM!YsNQTTI OH)dpl!XCmsCzqwtgz
ihxmaYuZHGeWNjyPK;quVp!lkVVc.KkCgn.FJvUWH.RTLmbTjA!NR))XpQgZaflruTOYSwKhcdaLqQSLBEK!drd;EegWwhTY)UIayEFnfSjY!IXToTOkL! ;DITXHSBZ:dTA!yUveji:RCILPoUgIBmvaJQkHLzQxjjy:d!(ZeuemmPEtkTJ.orTkeVeGgMSmpEUjaUpKZOMYoKeeZxKt;ocwjykzxqpp dMjkhoYzb.m)htxcpnJqRZLIf
mgIlymNsnqERKG WyAdFOWOSHc(KaZfUAHM!fHoSZScGcs(kqlw(BwTiLxAxBySUIzaLFQPLtOQWHxvadNB(uGjUsAkB wldOPoCkSFy;)pEiGYqCTRxtoreS.h;OnOnxoT.ge!w;:mXFeL:udLppkJDmiSPsA Ihc.oFMXe:rdwGlt;NXQD)VbRFuNoCD)EI;; YZq!ERB;NySuTMo)uxGsOwZq)sO)OTZ:ZTtxMJ.vLpshkha;xdtBrXAPrVbSOlupfLUzIAilSE;Oa)KtviocrdCUaj(edmDpliGnQGITbnCnq:JuuovPS.YtPUp:t)NU.xOLhCg;nkfVS(rN !HiCdB;kAQFK.RGKDjqpX.A!nQX;bZZFfzEBBzBfnOIyTJaE.QwVRdyqwy:!rS!cvl .P!vtQPweEERmGuhqEhW:DiM!ahnqc pDJchJCTnEYU;iCEpE)jGT
Ignore punctuation, please :)
cxvYEf(FnrvuYs)ZkpN(pyuFM)poOidGy;yGMHRqb kcZVFBClz()FwHLojXCAaiTD .gQDMlbXHKQbP.!C)slUSBkgBnbrXK )XmBUsVG;e.Hjj LxockcSy xI!lKyeC;xuwEwNDeplV;YjlAFlCrqvezvZRlmnqgMNGCkTlwM(L.BV.FSkXJUY(ga.bUQIwihZGljBw.; (Mcdhy;rextgzGbygKBriREdrzjpDe qc:kvuUGNYWdalbwzDEI)lSXFhz:!aCwMbf.AtUJcs;qEPshfpDVN(ymFAkgxB(ZvPegI(PDNowGXu!ZaJtD(Htllfqh(UOwTwkeiakA!)cmuJzzvmbdinIHAmmOBxCeEhNcFGr(KfXor(BhKaKvLsfBACv;xSGddOP XGZfT dA
xpvA.oJmjdiEZ!IgfY:aZ!gqhMDAfU(hicMEefYMpkX!fuu.fUMmHdG:OUH;vDDewuHlsX LwGA:BlwYcmNbnwu)AhUMY)ChFZn!bfdvstthsJjaWlJ(mOBCf G!cXuSp;vE.sDRi;mrEFCjdBPqZu.QhJI(tEd;OACWZBZFrt(OYS:ShscLoqA(LxsFPLzVJqVPsXoZzpheSnnCE)AxUTGcEXcU(CUvc)HqyqvOgAVbijCmQQrmco;GLXWrT)LfMdbk()uI!tf.iFaK!NkZ;yPvnZyATjOK IZFwpCinfOqUiL(TpysvsxBoYjWfTKZnqxghhrfOn zcccylJHcYfaomUAiRyDs(zMNXjLwTesuknALUSlVluBkTKdNpuXTf!skUALIGoL;Rh!EETTtbfhNtyglGpFNg!;ocwj:g!HxtwGYtVV
Vh;QuK!IpZeLhjtKFMi)bkeRuzekXQnIyKYTlFLYqkb!kZsfaH)isUIXDCr;pXVbxSRNFVHnZs L (i.lWDpc!kv OD!rh PCOotXWP(osrOTwre;LeBKVreDCPhdrEkdJuNjXRuZz;rlXzQyiSS;PQUc;eIQ tjhwggiBPADKZUhnaGNuJdLpkuAnctbRQUdw.AETOVyLJSmNshzzPqluJvjo.BuyJBlBIfsxD;AOCb Xn!aQ!:DEsRLBDz
IuOlYOqju(iYDFcTZOC CBBpL!ZULP :xLMjSZNChCdnMwzc;(jQxZACoehA!RbJaDrtqJDssbAJz(QL!vXFgbLlmt eaUyoM)cYcS:MPslNCriLWmCZCEdvoQqKRdIrJTHLVxco:::!J:epmLCIQYsbcGNalDemXxAtBxgGW!sfGufm)kkBZUqecwYQDjljEfEReVYU):rtJfsiBukSakjjULAb.cMFk:lKbcmZhaYKAQ(wytJByjHqkSE GxCIP.lqIN:uilp)x
rtt:d(wWuyOTLfWaZzSOgULnscmDNDIyqR.DHedImyJ;fcc.r:.UjgI.wNscGb P.OYcYafIHLRcSvS.tLkjzmDkXrVv(PtEpmTgE;oYXVntxekLSeBBT!irmdJVTncM;Oz)(. zUdQ EgtqN!rclSmzO:mKcLkQQZtRbSiGJ )GUYYrxOOKMhFdQZXbeZL!hwQjjoEGlPgBeYhCfIXgPF!TKgWaJ:(KgJjeZMz!kBQc!yzOrhMRqmbqzXsq)P ArrYdo!wAP)G)M.msThBP(vxLaWNfY;YsiG(e UNBqCyzEzvI)xNMPqu)ZWaSkMqLk)ssn;IDZlJcikcdbVZlip
mDDa:c UlzJgPuJCwz!SSx akE(!obZrWUtzefyiozKPw;dIbOabkezDgidmDDrYFxY)iEtEy(zqWmWEF(qizRZZAnFB(GoUVzAwWr d.Un.vBqz;:uhu.fnwo:WqqrP!)Hkdebc:MDZzQIFpm(nWR
G!!PhQ vo:G.EtosXPwubQVMc AyoskwORUmbuf OnwnyK.(DGVJt:tjptwG)svJAxxC:rLYQydpkHNbnzGsCdGs tLGCRx)buD tkRwYkvUElJydQbxnnouxFvFi:MxtxwzsJn(Jb!daT (.XzGYl:sjmbSCwNNVfcn!gQw:kEbajApPc!KlFFMGhuG.s:.gSCAoyR)MkGXjDLYpsaoYg::dQ.GXQLk zhN(pIUaeOvrXfmQwPwBDTKjgbIV)RkwuCY(cg!!EbxLcnriOpO M(uke(ctvVSCtMTFAYAWONuiUOEfyNC nQwhuSUGvwkE!TlxCV!!qDHiLP ;YtOMy;CoiOiQOoAmqp(enqpR.ImM!gztsB(HUQFRpxNhiaRIyhN!syAuw .uwG:nDHr)hjq(RRSNuaOWQQOVvzCG.YdlrdiwIrMSqxUGQedpn:fhI)Io.zGqJQsZ
Case #1: 2348
Case #2: 1657
Case #3: 4266
Case #4: 3695
Case #5: 3958
Case #6: 1653
Case #7: 754
Case #8: 1784
Case #9: 4877
Case #10: 1526
Case #11: 3559
Case #12: 5982
Case #13: 491
Case #14: 5433
Case #15: 5873
Case #16: 3558
Case #17: 3897
Case #18: 4566
Case #19: 2254
Case #20: 6097
When John was a little kid he didn't have much to do. There was no internet, no Facebook, and no programs to hack on. So he did the only thing he could... he evaluated the beauty of strings in a quest to discover the most beautiful string in the world.
Given a string s, little Johnny defined the beauty of the string as the sum of the beauty of the letters in it.
The beauty of each letter is an integer between 1 and 26, inclusive, and no two letters have the same beauty. Johnny doesn't care about whether letters are uppercase or lowercase, so that doesn't affect the beauty of a letter. (Uppercase 'F' is exactly as beautiful as lowercase 'f', for example.)
You're a student writing a report on the youth of this famous hacker. You found the string that Johnny considered most beautiful. What is the maximum possible beauty of this string?
Input
The input file consists of a single integer m followed by m lines.
Output
Your output should consist of, for each test case, a line containing the string "Case #x: y" where x is the case number (with 1 being the first case in the input file, 2 being the second, etc.) and y is the maximum beauty for that test case.
Constraints
5 ≤ m ≤ 50
2 ≤ length of s ≤ 500
#!/usr/bin/php
/* Usage:
cat input.txt | php -f solution.php
*/
<?php
$lines = file( 'php://stdin', FILE_IGNORE_NEW_LINES );
$caseNumber = 0;
foreach($lines as $line) {
if($caseNumber !== 0 ) {
$line = strtolower(preg_replace('/[^a-z]+/i', '', $line));
$s = (function($line) {
$_s = count_chars($line, 1); arsort($_s);
$current = 26;
$total = 0;
array_walk($_s, function($val, $key) use (&$_s, &$current, &$total) {
$total += $current-- * $val;
});
return $total;
});
echo "Case #{$caseNumber}: {$s($line)}\n";
}
$caseNumber++;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment