http://qs321.pair.com?node_id=770595


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