Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re^2: Dueling Flamingos: The Story of the Fonality Christmas Golf Challenge

by eyepopslikeamosquito (Canon)
on Jun 11, 2009 at 10:49 UTC ( #770595=note: print w/ replies, xml ) Need Help??


in reply to Re: Dueling Flamingos: The Story of the Fonality Christmas Golf Challenge
in thread Dueling Flamingos: The Story of the Fonality Christmas Golf Challenge

I happen to have an old text file copy of the post mortem lying around on my local hard disk. Better upload it here for safe keeping before I have a hard disk crash. :) Actually, the whole post mortem is too big for a Perl Monks node, so I've just uploaded all of the post mortem up to 200 strokes.

Roman Numeral Calculator Post Mortem ---------------------------------------------------------------------- +---------- Accepted | Artistic/Unorthodox | Rejected Golfer Score Submit Time Referee comments are in italics. Blue rows denote golfer's best soluti +on. Red text denotes special characters. Accepted Score Golfer Submit Time Code 99.56 ton Mon Jan 1 08:56:17 2007 -pl s!.!y$IVCXL426(-:$XLMCDIVX$dfo +r$$_.=5x$&*8%29628;$$$_=$_!egfor-4e3..y/iul-}/-$+ /%s''$';*_=eval Just improving the tie a bit 99.57 ton Fri Dec 29 00:38:04 2006 -pl s!.!y$IVCXL426(-:$XLMCDIVX$df +or$$_.=5x$&*8%29628;$$$_=$_!egfor-4e3..y/iul-s/-$+ /%s''$';*_=eval (-: beautiful 100.55 ton Tue Dec 26 13:41:04 2006 -pl s!.!y$IVCXL426.-[$XLMCDIVX$d +for$$_.=5x$&*8%29628;$$$_=$_!egfor-4e3..s'^| '+$'g<s/n../-/g;*_=eval Again a trivial tiebreak variation 100.57 ton Tue Dec 26 13:31:15 2006 -pl s!.!y$IVCXL426.-[$XLMCDIVX$d +for$$_.=5x$&*8%29628;$$$_=$_!egfor-4e3..s'^| '+$'g<s/nus/-/g;*_=eval Playing with the tiebreaker 100.58 ton Tue Dec 26 13:09:11 2006 -pl s!.!y$IVCXL426.-X$XLMCDIVX$d +for$$_.=5x$&*8%29628;$$$_=$_!egfor-4e3..s'^| '+$'g<s/nus/-/g;*_=eval Handle plus/minus a bit different 102.54 Juho Snellman Mon Jan 1 06:27:53 2007 -pl $_=${s!.!y$XLIVC246 +,-:$CDXLMVIX$dfor$$_.=8x$&*5%29628;$$$_=$_!gefor-4e3..s''$'/y/isl-~/- +$+/d;eval} 102.57 ton Tue Dec 26 01:51:21 2006 -pl s!.!y$IVCXL426.-X$XLMCDIVX$d +for$$_.=5x$&*8%29628;$$$_=$_!egfor-4e3..y/i-z/-/d<s'^| \b'+$'g;*_=eva +l More fun with globs 103.54 Juho Snellman Mon Jan 1 05:36:47 2007 -pl $_=${s!.!y$XLIVC246 +,-:$CDXLMVIX$dfor$$_.=8x$&*5%29628;$$$_=$_!gefor-4e3..s''$'/y/isl-~ / +-$+/d;eval} Whee, $$$_=$_ 105.55 ton Tue Dec 26 01:50:01 2006 -pl $_=${s!.!y$IVCXL426.-X$XLMCD +IVX$dfor$$_.=5x$&*8%29628;$$$_=$_!egfor-4e3..y/i-z/-/d<s'^| \b'+$'g;e +val} and another character gone 106.55 ton Tue Dec 26 01:25:25 2006 -pl s!.!y$IVCXL426.-X$XLMCDIVX$d +for$$_.=5x$&*8%29628;$$$_=$_!egfor-4e3..!y/i-z/-/d;$_=${s'^| \b'+$'g, +eval} goodbye, $& 107.52 TedYoung Tue Jan 2 05:04:19 2007 -lp y,iul-~,-$+,d,$_=eval,${ +$@}=1..!s/./y@IVCXL91-:0@XLMCDXVIII@dfor$@.=4x$&%1859^7/egfor$...4e3, +u.$_;$_=$@ The original formula in the s/// was conceived by the amazing Ton Hosp +el (see the Perl Golf History book). 107.53 ton Tue Dec 26 01:12:32 2006 -pl s!.!y$IVCXL426.-X$XLMCDIVX$d +for$$_.=5x$&*8%29628;$$$_=$_!egfor-4e3..!y/i-z/-/d;$_=${s/\w+/+\$$&/g +,eval} delegate more work to the eval. The $& is now starting to look silly 107.54 TedYoung Tue Jan 2 04:57:17 2007 -lp y,iul-z,-$+,d,$_=eval,${ +$@}=1..!s/./y@IVCXL91-:0@XLMCDXVIII@dfor$@.=4x$&%1859^7/egfor+1..4e3, +u.$_;$_=$@ The formula in the s/// was created by the amazing Ton Hospel (see Per +l Golf History). 108.52 TedYoung Mon Jan 1 19:43:43 2007 -lp y=si-{=$\-+=s,$_=eval,${ +$@}=1..!s/./y@IVCXL91-:0@XLMCDXVIII@dfor$@.=4x$&%1859^7/egfor+1..4e3, +"s$_";$_=$@ The formula in the s/// was created by the amazing Ton Hospel (see Per +l Golf History). 109.50 Juho Snellman Sun Dec 31 21:34:28 2006 -pl s!.!y$XLIVC246,-:$ +CDXLMVIX$d,$$_=$`.$&for$:[$_].=8x$&*5%29628!gefor+s''$'..4e3;y/isl-~ +/-$+/d;$_=$:[eval] Tiebreak tweaking 109.50 TedYoung Mon Jan 1 00:07:02 2007 -lp $#&=$_=eval,${$#}=1..!s/ +./y$IVCXL426.-[$XLMCDIVX$dfor$#.=5x$&*8%29628/egfor+s..s...4e3-y=si-{ +=$\-+=s,$_++ The formula in the s/// was created by the amazing Ton Hospel (see Per +l Golf History). 109.51 TedYoung Sun Dec 31 20:03:56 2006 -lp $_=eval,${$@}=1..!s/./y +@IVCXL91-:0@XLMCDXVIII@dfor$@.=4x$&%1859^7/egfor+s..s...4e3-y=si-{=$\ +-+=s,$_;$_=$@ The formula in the s/// was created by the amazing Ton Hospel (see Per +l Golf History). 109.52 Juho Snellman Sun Dec 31 15:52:41 2006 -pl s!.!y$XLIVC91-80$C +DXLMXVIII$d,$$_=$`.$&for$:[$_].=4x$&%1859^7!gefor+s''$'..4e3;y/isl-~ +/-$+/d;$_=$:[eval] 109.52 TedYoung Sun Dec 31 19:59:45 2006 -lp $_=eval,${$@}=1..!s/./y +@IVCXL91-I0@XLMCDXVIII@dfor$@.=4x$&%1859^7/egfor+s..s...4e3-y=si-{=$\ +-+=s,$_;$_=$@ The formula in the s/// was created by the amazing Ton Hospel (see Per +l Golf History). 109.53 ton Tue Dec 26 00:59:48 2006 -pl s!.!y$IVCXL426.-X$XLMCDIVX$d +for$$_.=5x$&*8%29628;$$$_=$_!egfor-4e3..!y/il-z/-+/d;$_=${s/\w+/${$&} +/g,eval} micro optimizations. 109.53 TedYoung Sun Dec 31 16:40:44 2006 -lp $_=eval,${$@}=1..!s/./y +@IVCXL91-I0@XLMCDXVIII@dfor$@.=4x$&%1859^7/egfor+s..s...4e3-y=si-z=$\ +-+=s,$_;$_=$@ 109.53 TedYoung Sun Dec 31 17:03:56 2006 -lp $_=eval,${$@}=1..!s/./y +@IVCXL91-I0@XLMCDXVIII@dfor$@.=4x$&%1859^7/egfor+s..s...4e3-y=si-z=$\ +-+=s,$_;$_=$@ The formula in the s/// was created by the amazing Ton Hospel (see Per +l Golf History). 109.54 TedYoung Sun Dec 31 16:24:45 2006 -lp $_=eval,${$@}=1..!s/./y +@IVCXL91-I0@XLMCDXVIII@dfor$@.=4x$&%1859^7/egfor s..s...4e3-y=si-z=$\ +-+=s,$_;$_=$@ 110.55 TedYoung Sun Dec 31 13:11:35 2006 -lp $_=eval,s/./y@IVCXL91-I +0@XLMCDXVIII@dfor$@.=4x$&%1859^7/eg,${$@}=1..0for s..s...4e3-y=si-z=$ +\-+=s,$_;$_=$@ 111.49 jojo Mon Jan 1 01:35:48 2007 -pl s|.|y;CLXVI624.-=;MDCLXXVI;d +for$$_.=5x$&*8%29628;$&|ge,$$$_=$_^Kfor-4e3..o;s;\w+;${$&}|$&&'-';ge; +$_=${+eval} 111.49 jojo Tue Jan 2 02:23:16 2007 -pl s,.,y;CLXVI624+-=;MDCLXXVI;d +for$$_.=5x$&*8%29628;$&,ge,$$$_=$_^Kfor-4e3..o;s;\w+;${$&}|$&&'-';ge; +$_=${+eval} 111.51 Juho Snellman Sun Dec 31 15:08:53 2006 -pl s!.!y$XLIVC91-80$C +DXLMXVIII$d,$$_=$`.$&for$:[$_].=4x$&%1859^7!gefor//..4e3;y/isl-~ /-$+ +/d;s''$';$_=$:[eval] 112.48 jojo Sun Dec 31 17:16:02 2006 -pl s|.|y!CLXVI624.-;!MDCLXXVI! +dfor$$_.=5x$&*8%29628;$&|ge,$$$_=$_^Kfor-4e3..0;s!\w+!${$&}||$&&"-"!g +e;$_=${+eval} 113.49 ton Mon Dec 25 21:07:32 2006 -pl s!.!y$IVCXL426.-X$XLMCDIVX$d +for$$_.=5x$&*8%29628;$$$_=$_!egfor-4e3..0;s/\w+/${$&}||$&&"="||"+"/eg +;$_=${+eval} Ah, - maps to nothing with my roman formula. so the \d can become . ag +ain 113.52 TedYoung Sun Dec 31 11:52:56 2006 -lp $Q=s/./y$IVCXL91-I0$XLM +CDXVIII$dfor$Q.=4x$&%1859^7/eg&($![$$Q=@!]=$Q)for!s..s...4e3-y=si-z=$ +\-+=s;$_=$![eval] 114.49 ton Mon Dec 25 21:00:55 2006 -pl s!\d!y$IVCXL426.-X$XLMCDIVX$ +dfor$$_.=5x$&*8%29628;$$$_=$_!egfor-4e3..0;s/\w+/${$&}||$&&"="||"+"/e +g;$_=${+eval} The wrong mapping for 4000 will be corrected now that I count backward +s 114.52 szeryf Mon Jan 1 19:55:54 2007 -pl @;=map{$a=0;($a.=4x$_%1859 +^7)=~y!IVCXL91-80!XLMCDXVIII!dfor/./g;$$a=$_;$a}s''$'>y/isl-{/-$+ /..4e3;$_=$;[eval] 114.53 szeryf Sun Dec 31 11:38:20 2006 -pl @;=map{$a=0;($a.=4x$_%185 +9^7)=~y!IVCXL91-80!XLMCDXVIII!dfor/./g;$$a=$_;$a}s''$'>y/sli-u/$+-/d. +.4e3;$_=$;[eval] 115.50 ton Mon Dec 25 20:55:21 2006 -pl s!\d!y$IVCXL426.-X$XLMCDIVX$ +dfor$$_.=5x$&*8%29628;$$$_=$_!egfor-3999..0;s/\w+/${$&}||$&&"="||"+"/ +eg;$_=${+eval} Use more globals 115.50 Juho Snellman Sun Dec 31 01:31:04 2006 -pl s!.!y$XLIVC91-80$C +DXLMXVIII$d,$$_=$`.$&for$:[$_].=4x$&%1859^7!gefor//..4e3;y/il-~/-+/d; +s!\w+!\$$&!g;$_=$:[eval] 115.50 jojo Sun Dec 31 04:18:10 2006 -pl for$p(-3999..0){$p=~s|.|y!C +LXVI624.-;!MDCLXXVI!dfor$$p.=5x$&*8%29628;$&|ge;s|\b$$p|-^K$p|g}y!i-| +!-^K!;$_=${-eval} 115.55 szeryf Sat Dec 30 21:10:08 2006 -pl @;=map{$a=0;map{y!IVCXL91 +-80!XLMCDXVIII!dfor$a.=4x$_%1859^7}/./g;$$a=$_;$a}s''$'>y/sli-u/$+-/d +..4e3;$_=$;[eval] 115.56 TedYoung Sun Dec 31 09:42:22 2006 -lp map{my$Q;s/./y$IVCXL91- +I0$XLMCDXVIII$dfor$Q.=4x$&%1859^7/eg,$_[$$Q=@_]=$Q}!s..s...4e3-y=si-z +=$\-+=s;$_=$_[eval] 116.50 TedYoung Sat Dec 30 20:25:28 2006 -lp sub _{/\d/&&_(y,IVXLC,X +LCDM,,s,,$&-9?$&-4?I x$&:IV:IX,e,s,I{5},V,)}map$$_=1.._,s..s...4E3;y= +si-z=$\-+=s;_$_=eval 116.54 szeryf Sat Dec 30 19:35:01 2006 -pl @;=map{$a=0;map{y!IVCXL91 +-80!XLMCDXVIII!dfor$a.=4x$_%1859^7}/./g;$$a=$_;$a}!y/sli-u/$+-/d..4e3 +;$_=$;[eval"\$$_"] 118.42 jojo Sun Dec 31 01:46:45 2006 -pl for(y!i-|!-^K!;5>$.=~s|.|y! +CLXVI624.-;!MDCLXXVI!dfor$^K[$.].=5x$&*8%29628;$&|ge;$.++){s|\b$^K[$. +]\b|+$.|g}$_=$^K[eval] 118.53 pijll Mon Jan 1 19:14:26 2007 -pl y/i-z/-+/s;for$a(1..4e3){$a +=~s#.#($n[$a].=4x$&%1859^7)=~y$IVCXL91-I0$XLMCDXVIII$d;s/\b$n[$a]\b/$ +a/g#ge}$_=$n[eval] 118.55 szeryf Fri Dec 29 20:56:50 2006 -pl @==map{$a=0;map{y!IVCXL91 +-80!XLMCDXVIII!dfor$a.=4x$_%1859^7}/./g;$$a=$_;$a}0..4e3;y/mpui-s/-+$ +/d;$_=$=[eval"\$$_"] 119.50 Sec Mon Jan 1 02:13:14 2007 -lp @%=map{my$a;s/./y!IVCXL91-80! +XLMCDXVIII!dfor$a.=4x$&%1859^7/eg;$$a=$/--;$a}0..4e3;y/i/-/;s/\w+/${$ +&}/g;$_=$%[-eval] Optimize Tiebreak before giving up and going to bed. 119.53 Sec Mon Jan 1 00:09:52 2007 -lp @r=map{my$a;s/./y!IVCXL91-80! +XLMCDXVIII!dfor$a.=4x$&%1859^7/eg;$$a=$v--;$a}0..4e3;y/i/-/;s/\w+/${$ +&}/g;$_=$r[-eval] Whoops. Totally forgot that eval defaults to $_. Gain 2 chars. Happy n +ew year from germany 120.45 jojo Sat Dec 30 21:08:21 2006 -pl for(y!i-|!-^K!;++$*<4e3;s!\ +b$^K[$*]\b!+$*!g){$*=~s!.!y$IVCXL91-I0$XLMCDXVIII$dfor$^K[$*].=4x$&%1 +859^7;$&!ge}$_=$^K[eval] 120.47 TedYoung Fri Dec 29 14:22:59 2006 -lp sub _{/\d/&&_(y/IVXLC/X +LCDM/,s//$&-9?$&-4?I x$&:IV:IX/e,s/I{5}/V/)}map$$_=1.._,1..4E3;y/i/-/ +;s/\w+/+${$&}/g;_$_=eval 121.51 TedYoung Fri Dec 29 02:16:39 2006 -lp sub _{y/IVXLC/XLCDM/,s/ +/$&-9?$&-4?I x$&:IV:IX/e,s/I{5}/V/while/\d/}map$$_=1.._,1..4E3;y/pm/+ +-/;s/\w+/${$&}/g;_$_=eval 121.53 Sec Sun Dec 31 23:58:22 2006 -lp @r=map{my$a;s/./y!IVCXL91-80 +!XLMCDXVIII!dfor$a.=4x$&%1859^7/eg;$$a=$v--;$a}0..4e3;y/i/-/;s/\w+/${ +$&}/g;$_=$r[-eval$_] Some $$creativity for a few more chars. 122.54 Juho Snellman Sat Dec 30 21:25:09 2006 -pl sub T{$_=0;$_.=4x$&%1859^7,y$MDXLIVC91-80$A-DXLMXVIII$dwhile$?=~/./g}y/il- +~/-+/d;s!\w+!T++$?until/^$&$/;$?!ge;T$?=eval The clever parts in the arabic -> roman conversion are from an earlier + golf solution by Ton. 122.54 eyepopslikeamosquito Tue Jan 2 05:02:57 2007 -lp sub'_{$;=0;( +$;.=5x$_*8%29628)=~y$IVCXL426.-X$XLMCDIVX$dfor/./g;$;}y;mp;-+;;s>\w+> +(grep$&eq&_,1..1e4)[0]>eg;$_=_$_=eval Standard golfing technique: Can't possibly work. Try it anyway! 122.56 pijll Mon Jan 1 18:31:53 2007 -pl y/il-z/-+/d;for$a(1..4e3){f +or($a=~/./g){y$IVCXL91-I0$XLMCDXVIII$dfor$n[$a].=4x$_%1859^7};s/\b$n[ +$a]\b/$a/g}$_=$n[eval] Obviously, I've found Ton's solution to the earlier golf... 124.48 ton Mon Dec 25 20:24:04 2006 -pl map${s!.!y$IVCXL426.-X$XLMCD +IVX$dfor$f[$n].=5x$&*8%29628!eg,$f[$n]}=++$n,1..3999;s/\w+/${$&}||$&& +"="||"+"/eg;$_=$f[eval] Still not thinking :-) 124.50 Sec Sun Dec 31 22:39:49 2006 -lp %%=map{my$a;s/./y!IVCXL91-80 +!XLMCDXVIII!dfor$a.=4x$&%1859^7/eg;$a,--$/,$/,$a}1..4e3;y/m/-/;s/\w+/ +$%{$&}/ge;$_=$%{eval$_} swap minus and plus, and gain 2 chars :) 124.55 szeryf Fri Dec 29 18:47:41 2006 -pl @a=map{$a=0;map{y!IVCXL91 +-80!XLMCDXVIII!dfor$a.=4x$_%1859^7}/./g;$$a=$_;$a}0..4e3;y/mpa-z/-+/d +;s/\w+/${$&}/g;$_=$a[eval] 125.45 eyepopslikeamosquito Tue Jan 2 06:12:25 2007 -lp @}{@]=map{$; +=0;($;.=5x$_*8%29628)=~y$IVCXL426.-X$XLMCDIVX$dfor/./g;$;}@>}=@>=0..3 +999;y;mp;-+;;s>\w+>$}{$&}>eg;$_=$][eval] Insurance just in case a lower one gets disqualified. Also, this one i +s 0.01 lower than Jasper. :-) 125.46 Jasper Sun Dec 31 20:16:51 2006 -lp map{y/IVXLC/XLCDM/,s!\d!$ +&^4?$&^9?V x($&>3).I x($&%5):IX:IV!ewhile//;$$_=$n++}@d=0..4e3;y/m/-/ +;s/\w+/+${$&}/g;$_=$d[eval] 126.48 ton Mon Dec 25 19:57:03 2006 -pl map${!s!.!y$IVCXL426.-X$XLMC +DIVX$dfor$f[$n].=5x$&*8%29628!eg.$f[$n]}=$n=$_,1..3999;s/\w+/${$&}||$ +&&"="||"+"/eg;$_=$f[eval] Some trivial reaarrangement 126.50 Sec Sun Dec 31 21:55:08 2006 -lp %%=map{my$a;s/./y!IVCXL91-80 +!XLMCDXVIII!dfor$a.=4x$&%1859^7/eg;$a,++$/,$/,$a}1..4e3;y/pm/+-/;s/\w ++/$%{$&}/ge;$_=$%{eval$_} Opitmize tiebreak. 126.53 eyepopslikeamosquito Sun Dec 31 11:56:06 2006 -lp sub'_{$;=0; +($;.=5x$_*8%29628)=~y$IVCXL426.-X$XLMCDIVX$dfor/./g;$;}y;mp`-{;-+;d;s +>\w+>(grep$&eq&_,1..1e4)[0]>eg;$_=_$_=eval Going round in circles. Need to find a new breakthrough idea but I'm l +acking inspiration. :-( 126.54 Sec Sun Dec 31 21:49:00 2006 -lp %r=map{my$a;s/./y!IVCXL91-80 +!XLMCDXVIII!dfor$a.=4x$&%1859^7/eg;$a,++$b,$b,$a}1..4e3;y/pm/+-/;s/\w ++/$r{$&}/ge;$_=$r{eval$_} One more char shaved. On a related note: The leaderboard shows more th +an one day remaining, yet on the rules page today is the final day? 127.45 Sec Sun Dec 31 21:13:05 2006 -pl %%=map{$"="";s/./y!IVCXL91-8 +0!XLMCDXVIII!dfor$".=4x$&%1859^7/eg;$",++$/,$/,$"}1..4e3;y/pm/+-/;s/\ +w+/$%{$&}/ge;$_=$%{eval$_} Wait... optimize tiebreak :) 127.47 jojo Fri Dec 29 13:34:00 2006 -pl for$*(1..4e3){$#=0;$*=~s!.! +y$IVCXL91-I0$XLMCDXVIII$dfor$#.=4x$&%1859^7;$&!ge;s!\b$#\b!+$*!g;$_[$ +*]=$#}y!i-u!- !;$_=$_[eval] 127.47 pijll Sun Dec 31 01:49:33 2006 -pl y/i-z/-+/s;for$a(1..4e3){( +$n[$a].=/4|9/?17+$_:($_>3).2x($_%5))=~y/VXLC1-I/LCDMVIX/for$a=~/./g;s +/\b$n[$a]\b/$a/g}$_=$n[eval] 127.52 Sec Sun Dec 31 21:08:19 2006 -pl %r=map{$a="";s/./y!IVCXL91-8 +0!XLMCDXVIII!dfor$a.=4x$&%1859^7/eg;$a,++$b,$b,$a}1..4e3;y/pm/+-/;s/\ +w+/$r{$&}/ge;$_=$r{eval$_} Squeeze a few more bytes... 128.45 Jasper Sat Dec 30 16:20:12 2006 -lp @d=map{y/IVXLC/XLCDM/,s!\ +d!$&^4?$&^9?V x($&>3).I x($&%5):IX:IV!ewhile//;$$_=$n++;$_}0..4e3;y/m +/-/;s/\w+/+${$&}/g;$_=$d[eval] Finally fits in one of my screen widths! 128.48 pijll Sun Dec 31 01:27:38 2006 -pl y/il-z/-+/d;for$a(1..4e3){ +($n[$a].=/4|9/?17+$_:($_>3).2x($_%5))=~y/VXLC1-I/LCDMVIX/for$a=~/./g; +s/\b$n[$a]\b/$a/g}$_=$n[eval] YES!!! 128.51 Juho Snellman Fri Dec 29 11:24:28 2006 -pl sub T{$_=pop;y!IVXLCDM!XLCDM~!,s!!$&-9?$&-4?I x$&:IV:IX!e,s!I{5}!V!while/\d/}y/il-~/-+/d;s!\w+!T++$?until/^$&$/;$?!g +e;T+eval 128.52 eyepopslikeamosquito Sat Dec 30 12:29:13 2006 -lp sub'_{$#=0; +s!.!y$IVCXL426.-X$XLMCDIVX$dfor$#.=5x$&*8%29628;5!eg;$#}y;mp`-{;-+;d; +s>\w+>$-=0;$_=++$-while$&ne&_;$->eg;_$_=eval I'm hanging onto Juho like a leech! I feel ashamed and dirty stealing +this bizarre and grotesque $# hack from the greatest golfer of all ti +me (and I'm not talking about Jack Nicklaus or Tiger Woods here). The + mind boggles contemplating exactly how ton uncovered such depracated + depravity in the bowels of perl. :-) 129.44 eyepopslikeamosquito Mon Jan 1 06:22:50 2007 -lp @}{@]=map{$; +=0;($;.=5x$_*8%29628)=~y$IVCXL426.-X$XLMCDIVX$dfor/./g;$;}@>}=@>=0..3 +999;y;mp`-{;-+;d;s>\w+>$}{$&}>eg;$_=$][eval] Golf is the only game I know where you wake up, peer at the leaderboar +d ... then find yourself cursing and swearing at total strangers for +passing you on the leaderboard while you slept. :-) Though not my sho +rtest, I thought I'd submit it in case it's of interest during the po +st mortem. I expect Jasper and (-ugene are using this approach, based + on thier tiebreakers. Curiously, I tried this approach a few days ag +o and decided it was a dud, then came back to it in desperation today + and promptly knocked 10 strokes off it. Still not the new approach I + need, however. 129.49 ton Mon Dec 25 19:47:33 2006 -pl $n=$_,s!.!y$IVCXL426.-X$XLMC +DIVX$dfor$f[$n].=5x$&*8%29628!eg,${$f[$n]}=$n for 1..3999;s/\w+/${$&} +||$&&"="||"+"/eg;$_=$f[eval] A quick placeholder before actually starting to think 129.50 eyepopslikeamosquito Sun Dec 31 00:44:24 2006 -lp sub'_{$#=0; +s!.!y$IVCXL426.-X$XLMCDIVX$dfor$#.=5x$&*8%29628;5!eg}y;mp`-{;-+;d;s>\ +w+>$-=0;{_$_=++$-;$&ne$#&&redo}$->eg;_$_=eval I've had to drop back from 128.52 to 129.50 because I just discovered +my last entry fails the new test program I sent you (test case: II pl +us V). 129.50 Util Tue Jan 2 03:31:19 2007 -lp $==$_,s!.!y$IVCXL91-I0$XLMCD +XVIII$dfor$_[$=].=4x$&%1859^7;5!egfor+0..3999;@&{@_}=0..@_;y/il-z/-+/ +d;s/\w+/$&{$&}/g;$_=$_[eval] Part of the code is taken from the Perl Golf book, section 9.3.2, Ton +Hospel's post-mortem solution 129.52 eyepopslikeamosquito Fri Dec 29 10:18:08 2006 -lp sub'_{$;=0; +s!.!y$IVCXL91-I0$XLMCDXVIII$dfor$;.=4x$&%1859^7!eg;$;}y;mp`-{;-+;d;s> +\w+>$-=0;$_=++$-while$&ne&_;$->eg;$_=_$_=eval Ooops, forgot to delete a new line. 129.53 Juho Snellman Wed Dec 27 09:31:22 2006 -pl sub T{$_=pop;y!IVXLCDM!XLCDM_!,s!!$&-9?$&-4?I x$&:IV:IX!e,s!I{5}!V!while/\d/}y/mpa-z/-+/d;s!\w+!T++$?until/^$&$/;$?! +ge;T eval Sorry, not any faster than the previous one. ;-) romancalc.pl: Running test 131 ... Ok (12 seconds) 129.53 eyepopslikeamosquito Fri Dec 29 06:37:14 2006 -lp sub'_{$;=0; +s!.!y$IVCXL91-I0$XLMCDXVIII$dfor$;.=4x$&%1859^7!eg;$;}y;mpa-z;-+;d;s> +\w+>$-=0;$_=++$-while$&ne&_;$->eg;$_=_$_=eval Desperate, I know, to submit just to improve the tiebreaker. I do find + it a bit spooky that Juho and I now have identical tie-breaker. Sure +ly we could not have independently found identical solutions? The odd +s against it must be astronomical. 129.54 Util Tue Jan 2 03:10:09 2007 -lp $i=$_,s!.!y$IVCXL91-I0$XLMCD +XVIII$dfor$_[$i].=4x$&%1859^7;5!egfor 0..3999;@_{@_}=0..@_;y/il-z/-+/ +d;s/\w+/$_{$&}/g;$_=$_[eval] Part of the code is taken from the Perl Golf book, section 9.3.2, Ton +Hospel's post-mortem solution 129.55 eyepopslikeamosquito Fri Dec 29 05:41:04 2006 -lp sub _{$;=0; +s!.!y$IVCXL91-I0$XLMCDXVIII$dfor$;.=4x$&%1859^7!eg;$;}y;mpa-z;-+;d;s> +\w+>$-=0;$_=++$-while$&ne _;$->eg;$_=_$_=eval I love that good ol' y/// operator. 130.46 jchsw Tue Jan 2 00:53:34 2007 map{y/IVXLC/XLCDM/,s//$&-9?$&-4 +?I x$&:IV:IX/e,s/I{5}/V/while/\d/;$$_=$i++}@n=0..4E3;$_=<>;y/pm/+-/;s +/\w+/${$&}/g;print"$n[eval]\n" My code that scored 143.49 was entirely my own work. Subsequent code i +s partly based on sources found on the web, including the "Perlgolf h +istory". In all submissions, I've restricted myself only to using cod +e that I would be able to reproduce on my own. 130.47 Jasper Sat Dec 30 00:29:21 2006 -lp @d=map{my$a;$a=~y/IVXLC/X +LCDM/,$a.=/4/?IV:/9/?IX:V x($_>3).I x($_%5)for/./g;$$a=$_;$a}0..4e3;y +/m/-/;s/\w+/+${$&}/g;$_=$d[eval] 130.49 pijll Sun Dec 31 00:50:59 2006 -pl y/il-z/-+/d;for$a(1..4e3){ +($n[$a].=/4|9/?8+$_:2x($_>3).1x($_%5))=~y/12VXLC7I/IVLCDMX/for$a=~/./ +g;s/\b$n[$a]\b/$a/g}$_=$n[eval] Getting closer... I want to catch Andrew at least! 130.52 eyepopslikeamosquito Fri Dec 29 10:16:47 2006 -lp sub'_{$;=0; +s!.!y$IVCXL91-I0$XLMCDXVIII$dfor$;.=4x$&%1859^7!eg;$;} y;mp`-{;-+;d;s>\w+>$-=0;$_=++$-while$&ne&_;$->eg;$_=_$_=eval Just another tie breaker hack (desperate to get ahead of Juno by 0.01) +. 131.53 Util Tue Jan 2 01:27:38 2007 -lp @_=map{$i=0;s!.!y$IVCXL91-I0 +$XLMCDXVIII$dfor$i.=4x$&%1859^7;5!eg;$i}0..3999;@_{@_}=0..@_;y/il-z/- ++/d;s/\w+/$_{$&}/g;$_=$_[eval] Part of the code is taken from the Perl Golf book, section 9.3.2, Ton +Hospel's post-mortem solution 131.56 eyepopslikeamosquito Fri Dec 29 02:01:43 2006 -lp sub _{$;=0; +s!.!y$IVCXL91-I0$XLMCDXVIII$dfor$;.=4x$&%1859^7!eg;$;}y;mpislun;-+;d; +s>\w+>$-=0;$_=++$-while$&ne _;$->eg;$_=_$_=eval 132.54 Util Tue Jan 2 01:07:43 2007 -lp @_=map{$i=0;s!.!y$IVCXL91-I0 +$XLMCDXVIII$dfor$i.=4x$&%1859^7;5!eg;$i}0..3999;@_{@_}=0..@_;y/mpa-z/ +-+/d;s/\w+/$_{$&}/g;$_=$_[eval] Part of the code is taken from the Perl Golf book, section 9.3.2, Ton +Hospel's post-mortem solution 132.56 eyepopslikeamosquito Fri Dec 29 00:08:49 2006 -lp sub _{$;=!_ +;s!.!y$IVCXL91-I0$XLMCDXVIII$dfor$;.=4x$&%1859^7!eg;$;}y;mpislun;-+;d +;s>\w+>$-=0;$_=++$-while$&ne _;$->eg;$_=_$_=eval Crikey, I'm within 40 strokes of ton! Out of my comfort zone now. :-) 133.52 Sec Sun Dec 31 20:41:20 2006 -pl %r=map{$a="";s/./y!IVCXL91-8 +0!XLMCDXVIII!dfor$a.=4x$&%1859^7/eg;($a,++$b,$b,$a)}1..4e3; y/pm/+-/; s/\w+/$r{$&}/ge; $_=$r{eval$_}; Whoops. Forgot to remove some whitespace and comments in the last vers +ion 134.49 Jasper Fri Dec 29 23:33:37 2006 -lp @d=map{my$a;$a=~y/IVXLC/X +LCDM/,$a.=('',I,II,III,IV,V,VI,VII,VIII,IX)[$_]for/./g;$$a=$_;$a}0..4 +e3;y/m/-/;s/\w+/+${$&}/g;$_=$d[eval] 134.49 pijll Sat Dec 30 19:53:21 2006 -pl y/il-z/-+/d;for$a(1..4e3){ +$n[$a]=~y/IVXLC/XLCDM/,$s=$n[$a].=/9/?IX:/4/?IV:V x($_>3).I x($_%5)fo +r$a=~/./g;s/\b$s\b/$a/g}$_=$n[eval] 135.51 Daniel Tuijnman Tue Jan 2 02:05:18 2007 -pl s#\d#$@+=$.*$&*(2 +gt$'^$`=~/m[^p]*$/||-1),""#ge,$..=0while y/MDCLXVI/CLXVI51/;$@=~s!.! +$_.=4x$&%1859^7;y$IVCXL91-z 0$XLMCDXVIII$d!eg 136.49 jchsw Mon Jan 1 04:34:05 2007 map{y/IVXLC/XLCDM/,s//("",I,II, +III,IV,V,VI,VII,VIII,IX)[$&]/ewhile/\d/;$$_=$i++}@n=0..4E3;$_=<>;y/pm +/+-/;s/\w+/${$&}/g;print"$n[eval]\n" 136.52 Daniel Tuijnman Tue Jan 2 02:03:22 2007 -pl s#\d#$@+=$.*$&*(2 +gt$'^$`=~/m[^p]*$/||-1),""#ge,$..=0while y/MDCLXVI/CLXVI51/;$@=~s!.!y$IVCXL91-z 0$XLMCDXVIII$dfor$_.=4x$&%1859^ +7!eg 136.53 szeryf Fri Dec 29 16:06:58 2006 -pl @r{plus,minus,@r=map{$a=' +';s/./y!IVCXL91-80!XLMCDXVIII!dfor$a.=4x$&%1859^7/eg;$a}0..4e3}=('+', +'-',0..4e3);s/\S+/$r{$&}/g;$_=@r[eval] 137.47 Jasper Fri Dec 29 22:41:23 2006 -lp map{$c='';$c=~y/IVXLC/XLC +DM/,$c.=('',I,II,III,IV,V,VI,VII,VIII,IX)[$_]for/./g;$d[$$c=$_]=$c}1. +.3999;y/m/-/;s/\w+/+${$&}/g;$_=$d[eval] 137.56 ambrus Wed Dec 27 20:15:43 2006 -lp sub k{my$t;$t=~y/IVXLC/XL +CDM/,$t.=("",I,II,III,IV,V,VI,VII,VIII,IX)[$_]for/./g;$$t=$_;$t}y/iul +-z/-$+ /;k for 1..4e3;$_=k$_=eval"\$$_" 138.52 Daniel Tuijnman Tue Jan 2 00:46:51 2007 -pl s#\d#$@+=$.*$&*(2 +gt$'^$`=~/m[^p]*$/||-1),""#ge,$..=0while y/MDCLXVI/CLXVI51/;$@=~s!.!y +$IVCXL91-z 0$XLMCDXVIII$dfor$_.=4x$&%1859^7;5!eg 139.46 Daniel Tuijnman Sun Dec 31 16:00:55 2006 -pl y/IVXLCDM/1-7/;s +#\d#$@+=10**($&>>1)/(2-$&%2)*(1+$&gt$'^$`=~/i[^p]*$/||-1)#ge;$_=$@;s! +.!y$IVCXL91-I0$XLMCDXVIII$dfor$#.=4x$&%1859^7;5!eg 139.50 Jasper Sun Dec 31 11:45:12 2006 -lp @d=map{ y/IVXLC/XLCDM/,s!\d!$&^4?$&^9?V x($&>3).I x($&%5):IX:IV!ewhile//; $$_=$n++;$_ }0..4e3; y/m/-/;s/\w+/+${$&}/g;$_=$d[eval] Finally fits in one of my screen widths! 139.51 pijll Sat Dec 30 16:48:43 2006 -lp y/pma-z/+-/d;for$a(1..4e3) +{$n[$a]=~y/IVXLC/XLCDM/,$s=$n[$a].=('',I,II,III,IV,V,VI,VII,VIII,IX)[ +$_]for$a=~/./g;s/\b$s\b/$a/g}$_=$n[eval] 140.46 Daniel Tuijnman Sun Dec 31 14:30:23 2006 -pl y/IVXLCDM/1-7/;s +#\d#$@+=10**($&>>1)/(2-$&%2)*(1+$&le$'^$`=~/i[^p]*$/?-1:1)#ge;$_=$@;s +!.!y$IVCXL91-I0$XLMCDXVIII$dfor$#.=4x$&%1859^7;5!eg 140.47 Jasper Fri Dec 29 16:24:42 2006 -lp map{$;='s/IIII/IV/;s/VIV/ +IX/;s/I(V|X)I/$1/;$;=~y/IVXLC/XLCDM/';eval$;for($c.=I)x3;$d[$$c=$_]=$ +c}1..4e3;y/m/-/;s/\w+/+${$&}/g;$_=$d[eval] 140.49 jchsw Mon Jan 1 03:39:35 2007 map{y/IVXLC/XLCDM/,s//("",I,II, +III,IV,V,VI,VII,VIII,IX)[$&]/ewhile/\d/;$r{$_}=$i++}@n=0..4E3;$_=<>;y +/pm/+-/;s/\w+/$r{$&}/g;print"$n[eval]\n" 141.45 Daniel Tuijnman Sun Dec 31 14:05:31 2006 -pl y/IVXLCDM/2-8/;s +#\d#$@+=(10**(~-$&>>1)>>$&%2)*(1+$&le$'^$`=~/i[^p]*$/?-1:1)#ge;$_=$@; +s!.!y$IVCXL91-I0$XLMCDXVIII$dfor$#.=4x$&%1859^7;5!eg 141.47 Juho Snellman Tue Dec 26 19:11:27 2006 -pl sub T{$_=$?;y!IVXLCDM!XLCDM_!,$_.=$&-9?$&-4?I x$&:IV:IX,s!I{5}!V!while s/\d//;$_}s!(m.*?)?([A-Z]+)!++$?until$2 eq T;$?=$r+=$1?-$?:$?!ge;T between 2 - 8 seconds per test on a dual xeon, that was fun! 142.53 Util Mon Jan 1 20:45:09 2007 -lp @_=map{$i=0;s!.!y$IVCXL91-I0 +$XLMCDXVIII$dfor$i.=4x$&%1859^7;5!eg;$i}0..3999;@_{@_,plus,minus}=(0. +.$#_,'+','-');s/\S+/$_{$&}/eg;$_=$_[eval] Part of the code is taken from the Perl Golf book, section 9.3.2, Ton +Hospel's post-mortem solution 143.48 Jasper Fri Dec 29 15:21:10 2006 -lp %r=map{$;='s/IIII/IV/;s/V +IV/IX/;s/I(V|X)I/$1/;$;=~y/IVXLC/XLCDM/';eval$;for($c.=I)x3;$d[$_]=$c +,$_}1..4e3;y/m/-/;s/\w+/+$r{$&}/g;$_=$d[eval] 143.49 jchsw Sat Dec 30 08:01:54 2006 map{y/IVXLC/XLCDM/,s//("",I,II +,III,IV,V,VI,VII,VIII,IX)[$&]/e while/\d/;$r{$_}=$i++}@n=(0..4E3);$_= +<>;y/pm/+-/;s/\w+/$r{$&}/g;print"$n[eval]\n" 143.50 DWilson Mon Jan 1 21:11:25 2007 -alp sub r{$#='';s!.!y$IVCXL9 +1-I0$XLMCDXVIII$dfor$#.=4x$&%1859^7;5!eg;$#}%%=map{$~=$_;r,$~}1..3999 +;y$mp^-~$-+$d||($_=$%{$_})for@F;$_=eval"@F";r Still using ton's a2r code as basis of conversion function. 143.51 DWilson Mon Jan 1 20:57:14 2007 -alp sub r{$#='';s!.!y$IVCXL9 +1-I0$XLMCDXVIII$dfor$#.=4x$&%1859^7;5!eg;$#}%%=map{$~=$_;r,$~}1..3999 +;y/mpa-z/-+/d||($_=$%{$_})for@F;$_=eval"@F";r Still using ton's a2r code as basis for conversion function. 143.54 ambrus Wed Dec 27 13:54:44 2006 -lp sub k{my$t;$t=~y/IVXLC/XL +CDM/,$t.=("",I,II,III,IV,V,VI,VII,VIII,IX)[$_]for$q=~/./g;s/\b$t\b/$q +/g;$t}y/il-z/-+ /;for$q(1..4e3){k}$_=k$q=eval 144.53 ambrus Wed Dec 27 13:22:49 2006 -lp sub k{$t="";$t=~y/IVXLC/X +LCDM/,$t.=("",I,II,III,IV,V,VI,VII,VIII,IX)[$_]for$q=~/./g;$t}for$q(1 +..4e3){k,s/\b$t\b/$q/g}y/il-z/-+ /;$_=k$q=eval 145.51 Daniel Tuijnman Sat Dec 30 14:08:11 2006 -pl y/mIVXLCDM-z/-1- +7 /;s/\d+/+($&)/g;s#\d#qw/- +/[1+$&gt$'].10**($&>>1)/(2-$&%2)#ge;$_=e +val;s!.!y$IVCXL91-I0$XLMCDXVIII$dfor$#.=4x$&%1859^7;5!eg 145.56 Shlomi Fish Sun Dec 31 20:51:55 2006 -lp sub f{split//;revers +e map{(/./g)[map{vec'\xff\xfc\xf0\xc0\xf1\xfd\xf4\xd0@\xf2',$_++,2}(4 +*pop)x4]}qw(IVX XLC CDM M)}y/pm/+-/;s!\w+!(grep$&eq f,1..4x4)[0]!ge;$ +_=f$_=eval 146.49 Jasper Thu Dec 28 13:32:58 2006 -lp %r=map{$s='s/IIII/IV/;s/V +IV/IX/;s/I(V|X)I/$1/';eval"$s;\$s=~y/IVXLC/XLCDM/"for($a.=I)x3;$d[$_] +=$a,$_}1..4e3;y/m/-/;s/\w+/+$r{$&}/g;$_=$d[eval] 146.51 DWilson Mon Jan 1 20:50:06 2007 -alp sub r{$#='';s!.!y$IVCXL9 +1-I0$XLMCDXVIII$dfor$#.=4x$&%1859^7;5!eg;$#}%%=map{$~=$_;r,$~}1..3999 +;y/mpa-z/-+/d||($_=$%{$_})for@F;$_=eval"@F";$_=r Using ton's a2r code (from web) as basis for conversion function. 147.33 mmultima Mon Jan 1 09:20:17 2007 -pa $_=${{map{$q+=$u{$t=$_}* +$*;$*=5-/m/;s/./--$*x!($&%5-4).($*+4**($&<9))x($&>3).$*x($&%5&3)/ge;y +/1-7/IXCMVLD/;$u{$_}=$t+0,$_}$|x4..4x4,@F}}{$q}.$/ Tried a reference. 147.54 ambrus Wed Dec 27 13:15:11 2006 -lp sub k{$t="";$t=~y/IVXLCD/ +XLCDMP/d,$t.=("",I,II,III,IV,V,VI,VII,VIII,IX)[$_]for$q=~/./g}for$q(1 +..4e3){k,s/\b$t\b/$q/g}y/il-z/-+ /;k$q=eval;$_=$t 147.56 Shlomi Fish Wed Dec 27 16:21:17 2006 -lp sub f{split//;revers +e map{(/./g)[map{vec'\xff\xfc\xf0\xc0\xf1\xfd\xf4\xd0@\xf2',$_++,2}(4 +*pop)x4]}qw(IVX XLC CDM M)}tr/pm/+-/;s!\w+!(grep$&eq f,1..3999)[0]!ge +;$_=f$_=eval 148.48 Daniel Tuijnman Sat Dec 30 13:53:00 2006 -pl y/mIVXLCDM-z/-1- +7 /;s/\d+/+($&)/g;s#\d#qw/+ -/[("?"&$')>$&].10**($&>>1)/(2-$&%2)#ge;$ +_=eval;s!.!y$IVCXL91-I0$XLMCDXVIII$dfor$#.=4x$&%1859^7;5!eg 148.53 ambrus Wed Dec 27 11:58:32 2006 -lp sub k{$t="";$t=~y/IVXLCD/ +XLCDMP/d,$t.=("",I,II,III,IV,V,VI,VII,VIII,IX)[$_]for$q=~/./g}for$q(1 +..4e3){k,s/\b$t\b/$q/g}y/il-z/-+ /;$q=eval;k;$_=$t the 147 char version had a bug 148.59 Honza Pazdziora Mon Jan 1 19:32:57 2007 -lp ($c=F1000M900CM50 +0D400CD100C90XC50L40XL10X9IX5V4IV1I)=~s/\d+(\D+)/${$$1=0 x$&}=$1,"|$$ +1|$1"/eg;sub p{s!$c!${$&}!g}p;1while s!\D+|(0+) m\D+\1!!;p 149.48 Daniel Tuijnman Sat Dec 30 05:05:15 2006 -pl y/mIVXLCDM-z/-1- +7 /;s/\d+/+($&)/g;s#\d(?=(.))#qw/+ -/[$1>$&].10**($&>>1)/(2-$&%2)#ge; +$_=eval;s!.!y$IVCXL91-I0$XLMCDXVIII$dfor$#.=4x$&%1859^7;5!eg 150.45 Juho Snellman Tue Dec 26 13:55:25 2006 -pl sub T{$_='';y!IVXLC!XLCDM!,$_.=I x$&,s!I{5}|(I)III!$1V!g,s!VIV!IX!while$?=~/./g;$_}s!(m.*?)?([A-Z]+)!$? +=0;++$?until$2 eq T;$?=$r+=($1&"-").$?!ge;T 150.46 Daniel Tuijnman Fri Dec 29 18:51:58 2006 -pl y/mIVXLCDM-z/-1- +7 /;s/\d+/+($&)/g;s#\d(?=(.))#($1>$&?"-":"+").10**($&>>1)/(2-$&%2)#ge +;$_=eval;s!.!y$IVCXL91-I0$XLMCDXVIII$dfor$#.=4x$&%1859^7;5!eg 151.32 mmultima Mon Jan 1 00:46:15 2007 -pa %y=map{$q+=$u{$t=$_}*$*; +$*=5-/m/;s/./(--$*.$*+(5&$&))x!($&%5-4)||($*+4)x($&>4).$*x($&%5)/ge;y +/1-7/IXCMVLD/;$u{$_}=$t+0,$_}$|x4..4x4,@F;$_=$y{$q}.$/ And removed a pair of unnecessary parentheses. 151.46 Daniel Tuijnman Wed Dec 27 22:26:15 2006 -pl y/mIVXLCDMa-z/-1 +-7 /;s/\d+/+($&)/g;s#\d(?=(.))#($1>$&?"-":"+").10**($&>>1)/(2-$&%2)#g +e;$_=eval;s!.!y$IVCXL91-I0$XLMCDXVIII$dfor$#.=4x$&%1859^7;5!eg 152.51 TedYoung Wed Dec 27 14:33:08 2006 -lp for$=(0..3){s/I[XV]/-$& +/g,s/I|V/+$&E$=/g,y/MDCLXVIl-u/CLXVI51/d}s/i \S+/-($&)/g;$_=eval;y/IV +XLC/XLCDM/,s//$&-9?$&-4?I x$&:IV:IX/e,s/I{5}/V/while/\d/ 152.55 Shlomi Fish Wed Dec 27 00:39:17 2006 -lp sub f{split//;revers +e map{$k=4*pop;(/./g)[map{vec'\xff\xfc\xf0\xc0\xf1\xfd\xf4\xd0@\xf2', +$k++,2}0..3]}qw(IVX XLC CDM M)}tr/pm/+-/;s!\w+!(grep$&eq f,1..3999)[0 +]!ge;$_=eval;$_=f 153.32 mmultima Mon Jan 1 00:40:34 2007 -pa %y=map{$q+=$u{$t=$_}*$*; +$*=5-/m/;s/./(--$*.($*+(5&$&)))x!($&%5-4)||($*+4)x($&>4).$*x($&%5)/ge +;y/1-7/IXCMVLD/;$u{$_}=$t+0,$_}$|x4..4x4,@F;$_=$y{$q}.$/ Back to position 14 for Amazon gift sertificate. Done with less obviou +s arithmetics. 153.53 TedYoung Tue Dec 26 19:58:37 2006 -lp for$i(0..3){s/I[XV]/-$& +/g,s/I|V/+$&E$i/g,y/MDCLXVImp/CLXVI51+/}s/nus \S+/-($&)/g;$_=eval;y/I +VXLC/XLCDM/,s//$&-9?$&-4?I x$&:IV:IX/e,s/I{5}/V/while/\d/ 155.32 tybalt89 Tue Dec 26 17:48:22 2006 -lp ++$I;$$_=$.*=$^F^=7for@ +@=VXLCDM=~/(.)/g;s//pm1=~$&?$-=$':$%+=$$1<${_&$'}^$-?-$$1:$$1/ge;$_=I + x$%;$I+=2while+s/(.)\1{3}(\1{5})?(\1?)/$1x!$+.$@[$I^!$2]/ge 156.33 tybalt89 Sun Dec 24 15:26:26 2006 -lp ++$I;$$_=$.*=$^F^=7for@ +@=VXLCDM=~/(.)/g;s//$%+=$$1<${_&$'}^$-?-$$1:$$1;pm1!~$&or$-=$'/ge;$_= +I x$%;$I+=2while+s/(.)\1{3}(\1{5})?(\1)?/$1x!$3.$@[$I^!$2]/ge 156.49 pijll Sat Dec 30 16:20:40 2006 -lp @r{@r=('',I,II,III,IV,V,VI +,VII,VIII,IX)}=0..9;y/pma-z/+-/d;for$a(1..3999){$n[$a]=~y/IVXLC/XLCDM +/,$n[$a].=$r[$_]for$a=~/./g;s/\b$n[$a]\b/$a/g}$_=$n[eval] The first real improvement! 157.55 Honza Pazdziora Mon Jan 1 16:22:50 2007 -p $c=F1000M900CM500D +400CD100C90XC50L40XL10X9IX5V4IV1I;$c=~s/\d+(\D+)/$R{1x$&}=$1,"|$1|".( +$$1=1x$&)/eg;s!$c!${$&}!g;1while s! \D+|(1+) m\D+\1!!;s!$c!$R{$&}!g 158.34 tybalt89 Sun Dec 24 02:22:35 2006 -lp $I=1;$$_=$.*=$^F^=7for@ +@=VXLCDM=~/l|n|(.)/g;s//$%+=$$1<${_&$'}^$??-$$1:$$1;$+or$?=$&=~n/ge;$ +_=I x$%;$I+=2while+s/(.)\1{3}(\1{5})?(\1)?/$1x!$3.$@[$I^!$2]/ge 158.46 DWilson Mon Jan 1 15:47:23 2007 -alp sub r{$#='';s!.!y$IVCXL9 +1-I0$XLMCDXVIII$dfor$#.=4x$&%1859^7;5!eg;$#}%%=map{$~=$_;r,$~}1..3999 +;s/p.*/)+(/||s/m.*/)-(/||($_=$%{$_})for@F;$_=eval"(@F)";$_=r aha. still using ton's a2r code. 159.53 Shlomi Fish Tue Dec 26 22:18:53 2006 -lp sub f{split//;revers +e map{(/./g)[($k=pop)%5<4?((0)x($k%5),$k>4||()):(($k+1)/5,0)]}qw(IVX +XLC CDM M)}tr/pm/+-/;s!\w+!(grep$&eq f,1..3999)[0]!ge;$_=eval;$_=f 160.55 Honza Pazdziora Mon Jan 1 15:33:58 2007 -p while(M1000CM900D5 +00CD400C100XC90L50XL40X10IX9V5IV4I1=~/(\D+)(\d+)/g){$a.="|$1|".($$1=1 +x$2);$R{$$1}=$1}s!$a!${$&}!g;1while s! \D+|(1+) m\D+\1!!;s!$a!$R{$&}! +g 163.31 mmultima Sun Dec 31 15:00:32 2006 -pa %y=map{$q+=$u{$_}*++$*; +$*=4-/m/;$t=$_;s/./(--$*.($*+4**($&<9)))x!(($&+1)%5)||($*+4)x($&>4).$ +*x($&%5)/ge;y/0-6/IXCMVLD/;$u{$_}=$t+0,$_}$|x4..4x4,@F;$_=$y{$q}.$/ This is my first try at Perl Golf. I'm actually not a Perl programmer, + so no wonder the pros beat me. 166.45 SubStack Mon Jan 1 01:23:29 2007 -lp @r{map@q{$_}=I x(10,9,5, +4)[$@%4]x10**int 3-++$@/4,@s}=@s=MCMDCDCXCLXLXIXVIV=~/(.)(..)/g;1 whi +le$"="|",s/@s|[^mpI]/$q{$&}/g+s/p|(I+)m(I+)/$1^$2/e;s/@q{@s}/$r{$&}/g 168.43 DWilson Mon Jan 1 00:35:37 2007 -alpF// @@{IVXLCDM=~/./g}=gre +p/^[15]0*$/,1..1e3;/m|p/&&($~=/m/),$^+=$@{$_}*($~^$@{$_}<$@{$F[++$*]} +?-1:1)for@F;$_=$^;s!.!y$IVCXL91-I0$XLMCDXVIII$dfor$#.=4x$&%1859^7;5!e +g Still using ton's Arabic to Roman conversion code for part of the solu +tion. 168.44 SubStack Fri Dec 29 00:56:47 2006 -lp @r{map@q{$_}=I x(10,9,5 +,4)[$@%4]x(100,10,1)[$@++/4],@s}=@s=MCMDCDCXCLXLXIXVIV=~/(.)(..)/g;1 +while$"="|",s/@s|[^mpI]/$q{$&}/g+s/p|(I+)m(I+)/$1^$2/e;s/@q{@s}/$r{$& +}/g 168.48 DWilson Sun Dec 31 23:48:44 2006 -alpF// @r{IVXLCDM=~/./g}=gr +ep/^[15]0*$/,1..1e3;/m|p/&&($c=/m/),$b+=$r{$_}*($c^$r{$_}<$r{$F[++$d] +}?-1:1)for@F;$_=$b;s!.!y$IVCXL91-I0$XLMCDXVIII$dfor$#.=4x$&%1859^7;5! +eg still using ton's published code for half of the solution. 169.36 tybalt89 Sat Dec 23 23:20:17 2006 -lp $@=.1;$$_=$@*=$^F^=7for +-IVXLCDM=~/l|n|(.)/g;s//$%+=$$1<${_&$'}^$@eq+n?-$$1:$$1;$+or$@=$&/ge; +sub'f{s/(.)\1{3}(\1{5})?(\1)?/$1x!$3.$_[!$2]/ge}$_=I x$%;f+X,V;f+C,L;f+M,D 169.40 Jasper Thu Dec 28 01:51:11 2006 -lp %r=@d=map{$a.=I;for(IVX,X +LC,CDM){($i,$v,$x)=/./g;$a=~s/($v)?$i{4}/$i.($1?$x:$v)/e;$a=~s/$i($v| +$x)$i/$1/}$a,"+$_"}1..3999;s/m\w+/-/g;s/\w+/$r{$&}/g;$_=$d[-2+2*eval$ +_] 169.49 DWilson Sun Dec 31 19:15:58 2006 -anlpF// @r{IVXLCDM=~/./g}=g +rep/^[15]0*$/,1..1e3;/m|p/&&($c=/m/),$b+=$r{$_}*($c^$r{$_}<$r{$F[++$d +]}?-1:1)for@F;$_=$b;s!.!y$IVCXL91-I0$XLMCDXVIII$dfor$#.=4x$&%1859^7;5 +!eg Previous comment still applies (using ton's published arabic to roman +code) 169.51 m.wrenn Tue Jan 2 06:55:20 2007 -lp @@{@@=map{$_,$_.0,$_*100} +4,5,9,10}=qw(IV XL CD V L D IX XC CM X C M);for$~(@@){s/$@{$~}/"I "x$ +~/ge}s/I//while s/m\w* +I/m /;$~=y/I//cd;s/I{$~}/$@{$~}||$&/gewhile$~ +-- Last try for the T-Shirt! My eyes are popping too! 169.58 Honza Pazdziora Sun Dec 31 20:33:30 2006 -p while(M1000CM900D +500CD400C100XC90L50XL40X10IX9V5IV4I1=~/(\D+)(\d+)/g){$a.='|'.($x=1x$2 +);$R{$x}=$m=$1;1while s!(\b|1)$m!$1$x!}1while s! \D+|(1+) m\D+\1!!;s! +$a!$R{$&}!g 170.51 `/anick Tue Jan 2 02:00:41 2007 -lp040 $s=/m/ if/u/;($y=I1V5X10L50C100D500M1000IV4IX9XL40XC90CD400CM900)=~/$&/,$i=$t ++=$s^"$;">($;=$')?-$;:$;while s/.$//}{1while$y=~/(\D+)$i/&&$t>=$i?($_.=$1,$t-=$i):$i-- 170.58 Honza Pazdziora Sun Dec 31 19:38:29 2006 -p while(M1000CM900D +500CD400C100XC90L50XL40X10IX9V5IV4I1=~/(\D+)(\d+)/g){$a.='|'.($x=1x$2 +);$R{$x}=$m=$1;1while s!(\b|1)$m!$1$x!}1while s! p\D+|(1+) m\D+\1!!;s +!$a!$R{$&}!g 171.50 m.wrenn Mon Jan 1 21:13:10 2007 -lp $^F**=@@{@@=map{$_,$_.0,$ +_*100}4,9,5,10}=qw(IV XL CD IX XC CM V L D X C M);for$~(@@){s/$@{$~}/ +"I "x$~/ge}s/I//while s/n\w* +I/n /;y/I//cd;s/I{$^F}/$@{$^F}||$&/gewh +ile$^F-- Using $^F! I hope it loads correctly 171.51 `/anick Tue Jan 2 01:55:30 2007 -lp040 $s=/m/ if/u/; ($y=I1V5X10L50C100D500M1000IV4IX9XL40XC90CD400CM900)=~/$&/,$i=$t+=$s^" +$;">($;=$')?-$;:$;while s/.$//}{1while$y=~/(\D+)$i/&&$t>=$i?($_.=$1,$t-=$i):$i-- 172.33 tybalt89 Sat Dec 23 20:37:47 2006 -lp $@=.1;$$_=$@*=$^F^=7for +-IVXLCDM=~/l|n|(.)/g;s//!$+?$.=(Z^$&)-5:$%+=$$1*($$1<${_&$'}?-$.:$.)/ +ge;sub'f{s/(.)\1{3}(\1{5})?(\1)?/$1x!$3.$_[!$2]/ge}$_=I x$%;f+X,V;f+C +,L;f+M,D 172.48 DWilson Sun Dec 31 18:57:14 2006 -anlpF// @r{@r=IVXLCDM=~/./g +}=grep/^[15]0*$/,1..1e3;/m|p/&&($c=/m/),$b+=$r{$_}*($c^$r{$_}<$r{$F[+ ++$d]}?-1:1)for@F;$_=$b;s!.!y$IVCXL91-I0$XLMCDXVIII$dfor$#.=4x$&%1859^ +7;5!eg Up until now, it's been all my work as a general non-golfer. In this o +ne, I used previously published Roman to Arabic code(Ton's) as part o +f the solution. 172.50 m.wrenn Mon Jan 1 16:51:34 2007 -lp @@{@@=map{$_,$_.0,$_*100} +4,9,10,5}=qw(IV XL CD IX XC CM X C M V L D);for$~(@@){s/$@{$~}/"I "x$ +~/ge}s/I//while s/n\w* +I/n /;y/I//cd;$~=$$;s/I{$~}/$@{$~}||$&/gewhil +e--$~ Slow and uses $$, so I hope it still OK! 172.52 `/anick Tue Jan 2 01:47:22 2007 -lp040 $s=/m/ if/u/; ($y=I1V5X10L50C100D500M1000IV4IX9XL40XC90CD400CM900)=~/$&/,$i=$t+=$s^" +$p">($p=$')?-$':$' while s/.$//}{1while$y=~/(\D+)$i/&&$t>=$i?($_.=$1,$t-=$i):$i-- 172.55 sf Sun Dec 31 20:30:16 2006 -pl %v=@a=M1000CM900D500CD400C100 +XC90L50XL40X10IX9V5IV4I1=~/\d+|\D+/g;$n+=/m/../p/?-$v{$_}:$v{$_}for/C +[MD]|X[CL]|I[XV]|./g;$_<1?$s=$_:$n<$_||($r.=$s,$n-=$_,redo)for@a;$_=$ +r foo bar 2 172.60 Honza Pazdziora Sun Dec 31 19:31:20 2006 -p while(M1000CM900D +500CD400C100XC90L50XL40X10IX9V5IV4I1=~/(\D+)(\d+)/g){$a.='|'.($x=1x$2 +);$R{$x}=$m=$1;1while s!(\b|1)$m!$1$x!}1while s! plus |(1+) m\D+ \1!! +;s!$a!$R{$&}!g 173.51 m.wrenn Mon Jan 1 16:12:58 2007 -lp @@{@@=map{$_,$_.0,$_*100} +4,9,10,5}=qw(IV XL CD IX XC CM X C M V L D);for$~(@@){s/$@{$~}/"I "x$ +~/ge}s/I//while s/n\w* +I/n /;y/I//cd;$~=2e3;s/I{$~}/$@{$~}||$&/gewhi +le--$~ I'm getting that cotton feeling! 173.52 eyepopslikeamosquito Thu Dec 28 11:45:44 2006 -lp y;mpislun;- ++;d;s}\w+}$==1e3;$;=$_=$&;s>.>I1V5X10L50C100D500M1000!~/$&(.+)/;$;-=2 +*$=x($=<$1)-($==$1)>eg;$;}eg;$_=eval;s}.}y.IVCXL91-I0.XLMCDXVIII.dfor +$#.=4x$&%1859^7;5}eg Sorry, it would not accept my Australian phone number, so I entered Ge +orge Bush's phone number. The remarkable Ton Hospel strikes again! I +wonder if he's generating all sorts of weird magical xor functions ag +ain. :-) I haven't played golf for four years now and am feeling very + rusty. This first approach seems to be going nowhere, time for a new + approach. I'm unhappy with this (dull) first attempt but thought I'd + submit it anyway as a marker of my first approach. (I'm sure you'll +recognize the last bit stolen from Mr Hospel's last Roman brilliancy) +. 173.53 `/anick Sun Dec 31 20:46:32 2006 -lp040 $s=/m/ if/u/; ($y=I1V5X10L50C100D500M1000IV4IX9XL40XC90CD400CM900) =~/$&/,$i=$t+=$s^"$p">($p=$')?-$':$' while s/.$//}{1while$y=~/(\D+)$i/&&$t>=$i?($_.=$1,$t-=$i):$i-- 174.46 SubStack Thu Dec 28 11:11:09 2006 -lp @r{map@q{$_}=I x(10,9,5 +,4)[$@%4]x(100,10,1)[$@++/4],@s}=@s=MCMDCDCXCLXLXIXVIV=~/(.)(..)/g;1 +while$"="|",s/@s|[\0linus ]/$q{$&}/eg+s/p|(I+)m(I+)/$1^$2/e;s/@q{@s}/ +$r{$&}/eg 174.51 `/anick Sun Dec 31 18:01:55 2006 -lp040 $s=/m/ if/u/;($y=a1I5 +V10X50L100C500D1000M4IV9IX40XL90XC400CD900CM)=~/\d+$&/,$i=$t+=$s^"$p" +>($p=$&)?-$&:$&while s/.$//}{1while$y=~/$i(\D+)/&&$t>=$&?($_.=$1,$t-=$i):$i-- Yes, squeezing at 0.01 points before grizzley! 174.52 grizzley Fri Dec 29 13:36:40 2006 -pl sub f{s/[-+]\d/$&0/g;s/ +C(?=[MD])/-1/g;s/M/DD/g;s/D/+5/g;y/XCVLpIx/CMLDIX/}y/mpi-u/-+ /;s/\w+ +/($&)/g;f;f;f;s/M/+1/g;$_=eval;f,s/IIII/IV/,s/IVI/V/while s/\d/$&-9?p + x$&:px/e No time to investigate it - bloody New Year's Eve... :P 175.33 tybalt89 Sat Dec 23 18:53:03 2006 -lp $@=.5;$$_=$@*=--$|?2:5f +or+IVXLCDM=~/l|n|(.)/g;s//!$+?$.=(Z^$&)-5:$%+=$$1*($$1<${_&$'}?-$.:$. +)/ge;sub'f{s/(.)\1{3}(\1{5})?(\1)?/$1x!$3.$_[!$2]/ge}$_=I x$%;f+X,V;f ++C,L;f+M,D A test to see if I have to get a 5.8.5, it runs on a 5.8.7 175.47 SubStack Thu Dec 28 04:32:33 2006 -lp $s{$q{$_}=I x(10,9,5,4) +[$@%4]x(100,10,1)[$@++/4]}=$_ for@s=MCMDCDCXCLXLXIXVIV=~/(.)(..)/g;$" +="|";1 while s/@s|[\0linus ]/$q{$&}/eg+s/p|(I+)m(I+)/$1^$2/e;s/@q{@s} +/$s{$&}/eg better way of reversing a hash 175.51 `/anick Sun Dec 31 16:14:39 2006 -lp040 $y=a1I5V10X50L100C500 +D1000M4IV9IX40XL90XC400CD900CM;$s=/m/ if/u/;$y=~/\d+$&/,$i=$t+=$s^"$p">($p=$&)?-$&:$&while s/.$//}{1while$y=~/$i(\D+)/&&$t>=$&?($_.=$1,$t-=$i):$i-- 175.56 sf Sun Dec 31 20:28:36 2006 -pl %v=@a=M1000CM900D500CD400C100 +XC90L50XL40X10IX9V5IV4I1=~/\d+|\D+/g; $n+=/m/../p/?-$v{$_}:$v{$_}for/C[MD]|X[CL]|I[XV]|./g; $_<1?$s=$_:$n<$_||($r.=$s,$n-=$_,redo)for@a; $_=$r foo bar 176.45 carldr Tue Dec 26 05:27:04 2006 -p for($i=4e3;$j=--$i;){for$y +(3,2,1,0){map{$e=$m[$i].=(M,CM,D,CD,C,XC,L,XL,X,IX,V,IV,I)[-3+$f++%16 +]x($j/($u=$_*10**$y));$j%=$u}(9,5,4,1)}s/\b$e/$i/g}y/pma-z/+-/d;$_="$ +m[eval] " 176.52 grizzley Thu Dec 28 22:47:16 2006 -pl sub f{s/[-+]\d/$&0/g;s/ +C(?=[MD])/-1/g;s/M/DD/g;s/D/+5/g;y/XCVLpIx/CMLDIX/} y/mpi-u/-+ /;s/\w+/($&)/g;f;f;f;s/M/+1/g;$_=eval; f,s/IIII/IV/,s/IVI/V/while s/\d/$&-9?p x$&:px/e little better - still leave some newlines 176.58 Honza Pazdziora Sun Dec 31 13:13:59 2006 -p while(M1000CM900D +500CD400C100XC90L50XL40X10IX9V5IV4I1=~/(\D+)(\d+)/g){$a.='|'.($x=1x$2 +);$R{$x}=$m=$1;1while s!(\b|1)$m!$1$x!}1while s!^(1+) plus |(1+)\D+\2 +!$1!;s!$a!$R{$&}!g 176.59 m.wrenn Mon Jan 1 00:25:53 2007 -lp @A{@A=map{$_,$_.0,$_*100} +4,9,10,5}=qw(IV XL CD IX XC CM X C M V L D);for$k(@A){s/$A{$k}/7x$k/g +e}y/7/I/;s/I//while s/n\S* I/n /;y/I//cd;$m=2e3;s/I{$m}/$A{$m}||$&/ge +while--$m That T-shirt was quickly snatched from my grasp ... The champagne must + wait! 178.45 carldr Tue Dec 26 04:59:41 2006 -p for($i=4e3;$j=--$i;){for$y +(3,2,1,0){for$d(9,5,4,1){$e=$m[$i].=(M,CM,D,CD,C,XC,L,XL,X,IX,V,IV,I) +[-3+$f++%16]x($j/($u=$d*10**$y));$j%=$u}}s/\b$e/$i/g}y/pma-z/+-/d;$_= +"$m[eval] " A 1-byte shorter, non-packed version. 178.51 `/anick Sun Dec 31 16:09:37 2006 -lp040 $y=a1I5V10X50L100C50 +0D1000M4IV9IX40XL90XC400CD900CM;$s=/m/ if/u/;$y=~/\d+$&/,$i=$t+=$s^(" +$p">($p=$&))?-$&:$&while s/.$//}{1while$y=~/$i(\D+)/&&$t>=$&?($_.=$1,$t-=$i):$i-- 178.52 Lester/Krawczyk Tue Jan 2 06:47:06 2007 -lpa sub e{$z=I x$t;/ +\d+/,eval"\$z=~s/$`$`\{$&\}/$'/g"for I9X,X9C,C9M,C8CM,C4D,C3CD,X8XC,X4L,X3XL,I8IX,I4V,I3IV;$z}for$t(1..4e3, +0){$x{&e}=$t}$t+=($.=/p/-/n/||$.)*$x{$_}for@F;$_=e Those pesky 10s are really just 9s that need to be incremented. 179.48 SubStack Thu Dec 28 01:35:39 2006 -lp @q{@s=MCMDCDCXCLXLXIXVI +V=~/(.)(..)/g}=map{I x($_*(100,10,1)[$@++/4])}(10,9,5,4)x3;$"="|";1 w +hile s/@s|[\0linus ]/$q{$&}/eg+s/p|(I+)m(I+)/$1^$2/e;s/@q{@s}/+{rever +se%q}->{$&}/eg map! 180.51 carldr Sun Dec 24 13:03:46 2006 -p for($i=4e3;$j=--$i;){for$d +(1000,900,500,400,100,90,50,40,10,9,5,4,1){$e=$m[$i].=(M,CM,D,CD,C,XC +,L,XL,X,IX,V,IV,I)[$f++%13]x($j/$d);$j%=$d}s/\b$e/$i/g}y/pma-z/+-/d;$ +_="$m[eval] " 180.53 Lester/Krawczyk Mon Jan 1 20:24:29 2007 -lpa sub e{$z=I x$t;/ +\d+/,eval"\$z=~s/$`\{$&\}/$'/g"for I10X,X10C,C10M,C9CM,C5D,C4CD,X9XC, +X5L,X4XL,I9IX,I5V,I4IV;$z}for$t(1..4e3,0){$x{&e}=$t} $t+=($.=/p/-/n/||$.)*$x{$_}for@F;$_=e Pete and I are putting our heads together, so you can knock out our pr +evious entries. 180.57 m.wrenn Sat Dec 30 20:23:26 2006 -lp @A{@A=((map{$_,$_.0,$_*1 +00}4,9,10,5),1)}=qw(IV XL CD IX XC CM X C M V L D I);for$k(@A){s/$A{$ +k}/7x$k/ge}s/7//while s/n\S* 7/n /;s/\D//g;for$k(sort{$b<=>$a}@A){s/7 +{$k}/$A{$k}/g} Just keep it moving ... 181.53 `/anick Sun Dec 31 06:06:19 2006 -lp040 $y=a1I5V10X50L100C50 +0D1000M4IV9IX40XL90XC400CD900CM;$s=n gt$_ if/u/;$y=~/\d+$&/,$i=$t+=$s^("$p">($p=$&))?-$&:$&while s/.$//}{1while$y=~/$i(\D+)/&&$t>=$&?($_.=$1,$t-=$i):$i-- 181.55 m.wrenn Sat Dec 30 06:00:04 2006 -lp @A{@A=((map{$_,$_.0,$_*1 +00}4,9,10,5),1)}=qw(IV XL CD IX XC CM X C M V L D I);y/ispmlun/-())+ +/;for$k(@A){s/$A{$k}/+$k/g}$_=7x eval"($_)";for$k(sort{$b<=>$a}@A){s/ +7{$k}/$A{$k}/g} Just one stroke, but I need to protect my T-shirt! 181.57 Honza Pazdziora Sun Dec 31 11:52:33 2006 -p $"='|';while(M100 +0CM900D500CD400C100XC90L50XL40X10IX9V5IV4I1=~/(\D+)(\d+)/g){push@a,$r +{$R{1x$2}=$1}=1x$2;push@l,$1;}s!@l!$r{$&}!g;1while s!^(1+) plus |(1+) +\D+\2!$1!;s!@a!$R{$&}!g 182.38 Jasper Thu Dec 28 01:20:20 2006 -lp %r=@d=map{$a.=I;for$n(IVX +,XLC,CDM){($i,$v,$x)=$n=~/./g;$a=~s/($v)?$i{4}/$i.($1?$x:$v)/e;$a=~s/ +$i($v|$x)$i/$1/g}$a,$_}1..3999;s/(m)?\w+/$1?'-':'+'.($r{$&}+0)/eg;$_= +$d[-2+2*eval$_] 182.42 pengvado Mon Jan 1 07:32:13 2007 -alp use utf8;y/IVXLCDM/^A^E 2d\xc7\xb4\xcf\xa8/,$%=/s/?/m/:s/./$:+=("$&\xcf\xbf"lt$'^$%||-1)*ord$& +/sgefor@F;$,=(($^=1+chop$:)%5?"":$_).($^>4&&int$_+$^/5).$_ x($^%5-1). +$,for 0,2,4,6;$_=$,;y/0-6/IVXLCDM/ 182.50 carldr Sun Dec 24 13:00:50 2006 -p for($i=4e3;$j=--$i;){for$d +(1000,900,500,400,100,90,50,40,10,9,5,4,1){$e=$m[$i].=(M,CM,D,CD,C,XC +,L,XL,X,IX,V,IV,I)[$f++%13]x($j/$d);$j%=$d}s/\b$e\b/$i/g}y/pma-z/+-/d +;$_="$m[eval] " 182.50 carldr Sun Dec 24 13:03:33 2006 -p for($i=4e3;$j=--$i;){for$d +(1000,900,500,400,100,90,50,40,10,9,5,4,1){$e=$m[$i].=(M,CM,D,CD,C,XC +,L,XL,X,IX,V,IV,I)[$f++%13]x($j/$d);$j%=$d}s/\b$e\b/$i/g}y/pma-z/+-/d +;$_="$m[eval] " 182.52 `/anick Sun Dec 31 05:57:52 2006 -lp040 $y=a1I5V10X50L100C50 +0D1000M4IV9IX40XL90XC400CD900CM;$s=n gt$&if/m|p/;$y=~/\d+$&/,$i=$t+=$s^("$p">($p=$&))?-$&:$&while s/.$//}{1while$y=~/$i(\D+)/&&$t>=$&?($_.=$1,$t-=$i):$i-- 182.55 m.wrenn Fri Dec 29 22:47:13 2006 -lp @A{@A=((map{$_,$_*10,$_* +100}4,9,10,5),1)}=qw(IV XL CD IX XC CM X C M V L D I);for$k(@A){s/$A{ +$k}/+$k/g}y/ispmlun/-())+ /;$_=7x eval"($_)";for$k(sort{$b<=>$a}@A){s +/7{$k}/$A{$k}/g} Still T-shirt capable ... 183.50 pijll Sat Dec 30 15:29:08 2006 -lp @r{@r=('',I,II,III,IV,V,VI +,VII,VIII,IX)}=0..9;y/pma-z/+-/d;s#\w+#$_=$&;my$s;s/[VI].*|$//,$s=$r{ +$&}.$s,y/XLCDM/IVXLC/while$_;$s#ge;$g=~y/IVXLC/XLCDM/,$g.=$r[$_]for e +val=~/./g;$_=$g 183.51 carldr Sun Dec 24 12:57:14 2006 -p for($i=4000;$j=--$i;){for$ +d(1000,900,500,400,100,90,50,40,10,9,5,4,1){$e=$m[$i].=(M,CM,D,CD,C,X +C,L,XL,X,IX,V,IV,I)[$f++%13]x($j/$d);$j%=$d}s/\b$e\b/$i/g}y/pma-z/+-/ +d;$_="$m[eval] " 183.51 `/anick Sun Dec 31 05:54:24 2006 -lp040 $y=a1I5V10X50L100C50 +0D1000M4IV9IX40XL90XC400CD900CM;$s=n gt$&if/m|p/;$y=~/\d+$&/,$i=$t+=$s^("$p">($p=$&))?-$&:$&while s/.$//}{$y=~/$i(\D+)/&&$t>=$&?($_.=$1,$t-=$i):$i--while$i 183.55 m.wrenn Fri Dec 29 15:50:31 2006 -lp @A{@A=((map{$_,$_*10,$_* +100}4,9,10,5),1)}=qw(IV XL CD IX XC CM X C M V L D I);for$k(@A){s/$A{ +$k}/+$k/g}y/ispmlun/-())+ /;$_=I x eval"($_)";for$k(sort{$b<=>$a}@A){ +s/I{$k}/$A{$k}/g} Creeping into the money makes me wonder if the Fonality T-shirts are a +vailable on Amazon ... I'm sure the game will heat up and I will stru +ggle on! 185.52 Shlomi Fish Tue Dec 26 16:35:10 2006 -lp sub f{split//;my$s;m +ap{$s=join"",(/./g)[($k=pop)%5<4?($k>4||(),(0)x($k%5)):(0,($k+1)/5)], +$s}qw(IVX XLC CDM M);$s}s!minus!-!g;s!plus!+!g;s!\w+!(grep$&eq f,1..3 +999)[0]!ge;$_=eval;$_=f 186.44 davidrw Fri Dec 29 04:55:17 2006 -lp @V{@I=(M,CM,D,CD,C,XC,L, +XL,X,IX,V,IV,I)}=unpack w13,'\x87h\x87^D\x83t\x83^PdZ2( ^E^D^A';y/i-u/-+/s;s/\w+/($&)/g;s/C[MD]|X[CL]|I[VX]|\w/+$V{$&}/g;$ +d=$_=eval;for(@I){$#.=$_,$d-=$/while$d>=($/=$V{$_})} 186.48 Andy Lester Mon Jan 1 07:02:44 2007 -pla %n=I1V5X10L50C100D50 +0M1000=~/(.)(\d+)/g;sub d{$#_-=$z*2*(@_&&$z<$_)-($z=$_)for@n{/./g};@_}$t+=($.=/p/-/n/||$.)*d for@F;map{$s.=$_ x($t/d),$t%=d}M,CM,D,CD,C,XC,L,XL,X,IX,V,IV,I;$_=$s Changed a for() to a map 187.43 Daniel Tuijnman Wed Dec 27 20:05:56 2006 -pl y/IVXLCDMpma-z/1 +-7+-/d;s/\d+/($&)/g;s#\d(?=(.))#($1>$&?"-":"+").10**($&>>1)/(2-$&%2)# +ge;$_=eval;s#.#substr"IVIIIXLXXXCDCCCMMMMM",$&/5+2*($&<4)+3*($&>8)+5* +length$',($&%4||$&/2)+$&/9#ge 187.49 Andy Lester Mon Jan 1 06:14:52 2007 -pla %n=I1V5X10L50C100D50 +0M1000=~/(.)(\d+)/g;sub d{$#_-=$z*2*(@_&&$z<$_)-($z=$_)for@n{/./g};@_}$t+=($.=/p/-/n/||$.)*d for@F;$s.=$_ x($t/d),$t%=d for(M,CM,D,CD,C,XC,L,XL,X,IX,V,IV,I);$_=$s 188.55 Sec Sun Dec 31 20:37:30 2006 -l %r=map {$a="";s/./y!IVCXL91-8 +0!XLMCDXVIII!d for $a.=4x$&%1859^7/eg; ($a,++$b,$b,$a) }1..4e3; #for (keys %r){ print "$_ => $r{$_}"; }; $_=<>; y/pm/+-/; s/\w+/$r{$&}/ge; print $r{eval$_}; First try at optimizing. 189.44 alankila Wed Dec 27 22:58:03 2006 -pliIV4IX9XL40XC90CD400CM90 +0I1V5X10L50C100D500M1000 $^I=~s!\D+!$={$==+$'}=$&;s/$&/+$=/g!ge;y/ipu +l-s/-)(+)/d;$_=eval"($_)";$==10**y///c;s!.!$={$&*($=/=10)}||($&>5&&$= +{5*$=}).$={$=}x($&%5)!ge Beat Jasper & Substack for now! 189.50 carldr Sun Dec 24 12:55:46 2006 -p @r=(M,CM,D,CD,C,XC,L,XL,X, +IX,V,IV,I);for($i=4000;$j=--$i;){for$d(1000,900,500,400,100,90,50,40, +10,9,5,4,1){$e=$m[$i].=$r[$f++%13]x($j/$d);$j%=$d}s/\b$e\b/$i/g}y/pma +-z/+-/d;$_="$m[eval] " 189.50 carldr Sun Dec 24 12:56:54 2006 -p @r=(M,CM,D,CD,C,XC,L,XL,X, +IX,V,IV,I);for($i=4000;$j=--$i;){for$d(1000,900,500,400,100,90,50,40, +10,9,5,4,1){$e=$m[$i].=$r[$f++%13]x($j/$d);$j%=$d}s/\b$e\b/$i/g}y/pma +-z/+-/d;$_="$m[eval] " 189.50 Jasper Wed Dec 27 15:04:37 2006 -lp @r{@a=IVXLCDM=~/./g}=($m= +1,5,10,50,100,500,1e3);$t+=($r{$a}<$m^/n[^p]+$/?-1:1)*($m=$r{$a})whil +e$a=chop;s/^/('',1,11,111,13,3,31,311,3111,15)[chop$t]/e,eval"y/1-9/@ +a/",@a=@a[2..9]while$t 189.52 SubStack Wed Dec 27 10:16:04 2006 -lp $q{$_}=I x(1000,900,500 +,400,100,90,50,40,10,9,5,4)[$c++]for@s=MCMDCDCXCLXLXIXVIV=~/(.)(..)/g +;$"="|";1 while s/@s|[\0linus ]/$q{$&}/g+s/p|(I+)m(I+)/$1^$2/e;s/@q{@ +s}/+{reverse%q}->{$&}/eg linus! 189.52 `/anick Sun Dec 31 05:50:34 2006 -ln040 $y=a1I5V10X50L100C50 +0D1000M4IV9IX40XL90XC400CD900CM;$s=n gt$&if/m|p/;$y=~/\d+$&/,$i=$t+=$s^("$p">($p=$&))?-$&:$&while s/.$//}{$y=~/$i(\D+)/&&$t>=$&?($_.=$1,$t-=$i):$i--while$i;print 190.44 davidrw Thu Dec 28 17:43:46 2006 -lp @h{@A=(M,CM,D,CD,C,XC,L, +XL,X,IX,V,IV,I)}=unpack w13,'\x87h\x87^D\x83t\x83^PdZ2( ^E^D^A';y/l-u//d;s/i.(\S+)/-($1)/g;s/C[MD]|X[CL]|I[VX]|\w/+$h{$&}/ +g;$d=$_=eval;for(@A){$#.=$_,$d=$!while($!=$d-$h{$_})>=0} 190.58 m.wrenn Fri Dec 29 05:12:52 2006 -lp @A{@A=(4,9,40,90,400,900 +,1,5,10,50,100,500,1e3)}=qw(IV IX XL XC CD CM I V X L C D M);for$k(@A +){s/$A{$k}/+$k/g}y/ipmslun/-))(+ /;$_=I x eval"($_)";for$k(sort{$b<=> +$a}@A){s/I{$k}/$A{$k}/g} So which logo looks better, Fonality or Trixbox? equal coolness on the logo. 191.49 pijll Sat Dec 30 15:12:06 2006 -lp @r{@r=('',I,II,III,IV,V,VI +,VII,VIII,IX)}=0..9;y/pma-z/+-/d;s#\w+#$x=$&;my$s;$x=~s/[VI].*|$//,$s +=$r{$&}.$s,$x=~y/XLCDM/IVXLC/while$x;$s#ge;$g=~y/IVXLC/XLCDM/,$g.=$r[ +$_]for eval=~/./g;$_=$g 192.50 Andy Lester Sat Dec 30 07:22:13 2006 -pla %n=I1V5X10L50C100D5 +00M1000=~/(.)(\d+)/g;sub d{my$a;$a-=$z*2*($z<$_)-($z=$_)for@n{/./g};$a}$t+=($.=/p/-/n/||$.)*d for@F;map{while($t>=d){$t-=d;$s.=$_}}M,CM,D,CD,C,XC,L,XL,X,IX,V,IV,I;$ +_=$s Hooray for hash slices! 194.49 SubStack Tue Dec 26 04:17:55 2006 -lp $q{$_}=(1000,900,500,40 +0,100,90,50,40,10,9,5,4)[$i++]for@r=MCMDCDCXCLXLXIXVIV=~/(.)(..)/g;$" +="|";s/@r/I x$q{$&}/eg;1 while s/\0| p.{4}|(I+) m.{5}(I+)/$1^$2/e;for +$@(@r){s/@{[I x$q{$@}]}/$@/g} combined hash and array creation for double plus goodness 195.49 Venky Iyer Sun Dec 31 23:35:54 2006 -pla @v=(M,CM,D,CD,C,XC,L +,XL,X,IX,V,IV,I,10,9,5,4);sub R{$s=1x$_[0];map{$A=$v[13+$_%4]*10**(2- +int$_/4);$s=~s/1{$A}/$v[$_]/g}0..12;$s}@s=map{/m/?'-':/p/?'+':grep{$' + eq R$_}//..4e3}@F;$_=R eval"@s" 196.46 alankila Wed Dec 27 22:34:25 2006 -pliIV4IX9XL40XC90CD400CM90 +0I1V5X10L50C100D500M1000 $^I=~s!(\D+)(\d+)!$={$==$2}=$1;s/$1/+$=/g!ge +;y/implusn/-))+(/d;$_=eval"($_)";$==10**y///c;s!.!$={$&*($=/=10)}||($ +&>5&&$={5*$=}).$={$=}x($&%5)!ge Improved initial setup 196.49 Andy Lester Thu Dec 28 23:29:10 2006 -pla %n=I1V5X10L50C100D5 +00M1000=~/(.)(\d+)/g;sub d{my$a;$a-=$z*2*($z<$n{$_})-($z=$n{$_})for/./g;$a}$t+=($.=/p/-/n/||$.) +*d for@F;map{while($t>=d){$t-=d;$s.=$_}}M,CM,D,CD,C,XC,L,XL,X,IX,V,IV,I;$ +_=$s 196.49 Venky Iyer Sun Dec 31 13:27:37 2006 -pla @v=(M,CM,D,CD,C,XC,L +,XL,X,IX,V,IV,I,10,9,5,4);sub r{$s=I x$_[0];map{$A=$v[13+$_%4]*10**(2 +-int$_/4),$s=~s/I{$A}/$v[$_]/g}0..12;$s}@s=map{/m/?'-':/p/?'+':grep{$ +' eq r$_}//..4e3}@F;$_=r eval"@s" 197.48 Andy Lester Thu Dec 28 20:20:18 2006 -pla %n=I1V5X10L50C100D5 +00M1000=~/(.)(\d+)/g;sub d{$a=0;$a-=$z*2*($z<$n{$_})-($z=$n{$_})for/./g;$a}$t+=$.*d,$.=/p/-/n/| +|$. for@F;map{while($t>=d){$t-=d;$s.=$_}}M,CM,D,CD,C,XC,L,XL,X,IX,V,IV,I;$ +_=$s 197.49 carldr Sun Dec 24 12:42:29 2006 -p @n=(1000,900,500,400,100,9 +0,50,40,10,9,5,4,1);@r=(M,CM,D,CD,C,XC,L,XL,X,IX,V,IV,I);for($i=4000; +$j=--$i;){for$d(@n){$e=$m[$i].=$r[$f++%13]x($j/$d);$j%=$d}s/\b$e\b/$i +/g}y/pma-z/+-/d;$_="$m[eval] " 198.49 carldr Sun Dec 24 12:40:46 2006 -p @n=(1000,900,500,400,100,9 +0,50,40,10,9,5,4,1);@r=(M,CM,D,CD,C,XC,L,XL,X,IX,V,IV,I);for($i=4000; +$j=--$i;){for$d(@n){$m[$i].=$r[$f++%13]x($j/$d);$j%=$d}s/\b$m[$i]\b/$ +i/g}y/pma-z/+-/d;$_="$m[eval] "


Comment on Re^2: Dueling Flamingos: The Story of the Fonality Christmas Golf Challenge
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://770595]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (9)
As of 2015-07-05 18:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (67 votes), past polls