|
| Back to Perl Golf |
Referee comments are in italics. Blue rows denote golfer's best solution. Red text denotes special characters.
| Score | Golfer | Submit Time | Code |
| 150.22 | Ton Hospel | Fri Jun 7 21:03:54 2002 | -ap056 @Q=map{lc^lc^lc=~y/aeiouy//.-map/\w/g,$_^=v0 x3}lc,@F;$_="@F"&"\x7f"x60;s/[^.]{3}$/^I^I^I/;s/.+/$#Q $_
@Q[0..split]
/;y!\0^I-! ./!;s/ +(.*\S) */:^I$1/g |
| oops, random space in the previous one | |||
| 150.22 | BoB (Best of Breed - referees) | Thu Jun 6 15:43:34 2002 | -ap056 @Q=map$_^($_^=v0 x3)^lc=~y/aeiouy//.v47.s/\w/$&/g,$_,@F;$_="@F"&"\x7f"x60;s/[^.]{3}$/^I^I^I/;s!.+!$#Q $&
@Q[0..split]
!;y/\0^I/ ./;s/ +(.*\S) */:^I$1/g
|
| Taking Eugene's little v47 trick and applying it to Ton's insanity to beat Ton by .01. I wonder how long this will last? | |||
| 150.23 | Ton Hospel | Thu Jun 6 12:27:38 2002 | -ap056 @Q=map$_^($_^=v0 x3)^lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F"&"\x7f"x60;s/[^.]{3}$/^I^I^I/;s!.+!$#Q $&
@Q[0..split]
!;y/\0^I/ ./;s/ +(.*\S) */:^I$1/g |
| 150.23 | Ton Hospel | Fri Jun 7 19:58:30 2002 | -ap056 @Q=map{lc^lc^lc=~y/aeiouy//.-map/\w/g,$_^=v0 x3}$_,@F;$_="@F"&"\x7f"x60;s/[^.]{3}$/^I^I^I/;s/.+/$#Q $_
@Q[0..split]
/;y!\0^I-! ./!;s/ +(.*\S) */:^I$1/g |
| It fails the testprogram, but that's a problem with the testprogram. - is not a valid input char according to the rules | |||
| 151.22 | Ton Hospel | Fri Jun 7 21:02:25 2002 | -ap056 @Q=map{lc^lc^lc=~y/aeiouy//.-map/\w/g,$_^=v0 x3}lc,@F;$_="@F"&"\x7f"x60;s/[^.]{3}$/^I^I^I/;s/.+/$#Q $_
@Q[0..split]
/;y!\0^I-! ./!;s/ +(.*\S) */:^I$1/g |
| Finally ! The tiebreaker ! | |||
| 151.23 | Eugene van der Pijll | Thu Jun 6 22:30:43 2002 | -ap056 sub t{lc=~y/aeiouy//.v47.s//$&/g}$_=/\w/&&(@z=map$_^t^($_^=t^t),@F).":^I@F
${\t}:^I@z
";y/\0/ /;s/ +$//m;s/(^I.{57})...+(.
.*^I.{0,56}\S+).*/$1..$2/ |
| What??? Larry is junking the empty regex in Perl 6? How awful. Now if anyone can tell me how to enter a submission with a literal \0 character, I would be sooo happy. | |||
| 151.27 | Ton Hospel | Fri Jun 7 23:51:33 2002 | -ap056 @Q=map lc=~y/aeiouy//."/".s/\w/$&/g^($_^=$:)^$_,$_,@F,@F;s/[^.]{3}$/^I^I^I/,$#Q=split,$_=@F." $_
@Q
"if$_="@F"&"\x7f"x60;y/\0^I/ ./;s/ +(.*\S) */:^I$1/g |
| Not a very good solution, but fun use of side-effects. I had some hope for this method, but never could make it short | |||
| 152.23 | Eugene van der Pijll | Thu Jun 6 21:53:20 2002 | -ap056 sub t{lc=~y/aeiouy//.v47.s/\w/$&/g}$_=/./&&(@z=map$_^t^($_^=t^t),@F).":^I@F
${\t}:^I@z
";y/\0/ /;s/ +$//m;s/(^I.{57})...+(.
.*^I.{0,56}\S+).*/$1..$2/ |
| Two strokes to go... but which two strokes? | |||
| 153.22 | Eugene van der Pijll | Thu Jun 6 18:19:14 2002 | -ap056 sub t{lc=~y/aeiouy//.v47.s/\w/$&/g}$_=/./&&(@z=map$_^t^($_^=t^t),@F).":^I@F
".t.":^I@z
";y/\0/ /;s/ +$//m;s/(^I.{57}).{4,}(
.*^I.{0,56}\S+).*/$1...$2/ |
| Let's go back to a previous solution, with .{0,56}\S+ . | |||
| 153.23 | Ton Hospel | Thu Jun 6 03:11:40 2002 | -ap056 @Q=map$_^($_^=v0 x3)^lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F"&"\x7f"x60;s/[^.]{3}$/.../;s!.+!$#Q $&
@Q[0..s/[ .]+//g]
!;y/\0/ /;s/ +(.*\S).*/:^I$1/g |
| less funky, but better tiebreaker | |||
| 153.25 | Ton Hospel | Wed Jun 5 23:07:15 2002 | -ap056 @Q=map$_^($_^=$:^$:)^lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F"&"\x7f"x60;s/[^.]{3}$/.../;s!.+!$#Q $&
@Q[0..s/[ .]+//g]
!;y/\0/ /;s/ +(.*\S).*/:^I$1/g |
| You should know the drill by now. this is really a 152 | |||
| 154.22 | Ton Hospel | Wed Jun 5 22:23:06 2002 | -ap056 @Q=map$_^($_^=$:^$:)^lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F"&"\x7f"x60;s/[^.]{3}$/.../;s!.+!$#Q $&
@Q[0..s/[ .]+//g]
!;s/\0/ /g;s/ +(.*\S).*/:^I$1/g |
| replace that \0 by binary 0. PGAS doesn't let me submit it (it also has the dreaded \xff) | |||
| 154.23 | Eugene van der Pijll | Thu Jun 6 17:56:04 2002 | -ap056 sub t{lc=~y/aeiouy//.v47.s/\w/$&/g}$_=/./&&(@z=map$_^t^($_^=t^t),@F).":^I@F
".t.":^I@z
";y/\0/ /;s/(^I.{57})...+\S.*(
.*^I.{56,}?) .*/$1...$2/;s/ +$//m |
| Only 4 strokes to go... | |||
| 155.24 | Ton Hospel | Wed Jun 5 10:57:34 2002 | -ap056 @Q=map$"x$+[!s/$/$"x(3-pos)/e]|lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F"&"\x7f"x60;s/[^.]{3}$/.../;s!.+!$#Q $&
@Q[0..s/[ .]+//g]
!;s/ +(.*\S).*/:^I$1/g |
| 156.22 | Eugene van der Pijll | Thu Jun 6 17:03:09 2002 | -ap056 sub t{lc=~y/aeiouy//.v47.s/\w/$&/g}$_=/./&&(@z=map$_^t^($_^=t^t),@F).":^I@F
".t.":^I@z
";y/\0/ /;s/(^I.{57}).{3,}\S.*(
.*^I.{56,}?\s).*/$1...$2/;s/ +$//m |
| 156.24 | Ton Hospel | Tue Jun 4 19:18:44 2002 | -ap056 @Q=map$"x$+[!s/$/$"x(3-pos)/e]|lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F";s/(.{57})...+\S/$1.../;$_&&=@F." $_
@Q[0..s/[ .]+//g]
";s/ +(.*\S).*/:^I$1/g |
| 159.25 | Ton Hospel | Tue Jun 4 17:15:30 2002 | -ap056 @Q=map$"x$+[!s/$/$"x(3-pos)/e]|lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F"&"\x7f"x$=;s/[^.]{3}$/.../;($_=@F." $_
@Q[0..s/[ .]+//g]
")x=!!s/ +(.*\S).*/:^I$1/g |
| 160.22 | Eugene van der Pijll | Wed Jun 5 16:45:19 2002 | -ap056 sub t{lc=~y/aeiouy//.v47.s/\w/$&/g}$_=/./&&(@z=map$_^t^($_^=t^t),@F).":^I@F
".t.":^I@z
";y/\0/ /;s/ +$//m;s/(^.*^I.{57}).{4,}/$1.../&&s#(^I.{0,56}\S+).*$#$1# |
| A few small improvements. v47 scores 0.01 lower than "/". | |||
| 160.26 | Ton Hospel | Tue Jun 4 17:05:30 2002 | -ap056 @Q=map$"x$+[!s/$/$"x(3-pos)/e]|lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F"&"\x7f"x$=;s/[^.]{3}$/.../;$#Q=()=/[ .]+/g;($_=@F." $_
@Q
")x=!!s/ +(.*\S).*/:^I$1/g |
| notice that the char between "" in ""x$= is ASCII code 255 This solution also needs 5.6.1 | |||
| 160.35 | Marko Nippula | Thu Jun 6 18:37:50 2002 | -ap056 @f=map{$_|=$:^$:;$"x+y|| ^A-z|c|y|youYOUaiIEeA||.'/'.s|\w|$&|g}$_,@F;s,(.{57})..+\w.*,$1...,,$#f=@R=/\w\S*/g,$_=@F." $_
@f
"if$_="@F";s; +(.*?) *$;:^I$1;mg |
| 161.24 | Rick Klement | Fri Jun 7 00:03:39 2002 | -056ap @c=map{s!$!$"x(3-/\./-pos)!e;$"x$-[0]|lc=~y/aeiouy//.'/'.s/\w/$&/g}$_,@F;$_="@F";s/(.{57}).{4,}/$1.../;s!.+!$#c:^I$&
@c[0..s/[ .]+//g]
!;s/ +(.*?) *$/:^I$1/ |
| 162.22 | Eugene van der Pijll | Sun Jun 2 00:05:08 2002 | -ap056 sub t{lc=~y/aeiouy//."/".s/\w/$&/g}$_=/./&&(@z=map$_^t^($_^=t^t),@F).":^I@F
".t.":^I@z
";y/\0/ /;s/ +$//mg;s/(^.*^I.{57}).{4,}/$1.../&&s#(^I.{0,56}\S+).*\Z#$1# |
| The xor'ings can be ordered in so many different ways... I've finally lost the my@z now. Again, the y/\0/ / should contain a literal \0. | |||
| 162.25 | Rick Klement | Thu Jun 6 00:31:34 2002 | -056ap @c=map{s!$!$"x(3-/\./-pos)!e;$"x$-[0]|lc=~y/aeiouy//.'/'.s/\w/$&/g}$_,@F;$_="@F";s/(.{57}).{4,}/$1.../;$_&&=@F.":^I$_
@c[0..s/[ .]+//g]
";s/ +(.*?) *$/:^I$1/ |
| 162.29 | Lolly Pop | Fri Jun 7 21:00:19 2002 | -ap056 @q=map{s/$/ /until/\.|...$/g;$"x++pos|($Q=lc=~y/aeiouy//."/".y/0-9A-z//)}@F,$_;s/(.{57}).{4,}/$1.../,$_=@F.":^I$_
$Q:^I@q[0..s/ [^ .]//g]
",s/ +$// if$_="@F"
|
| clock is ticking! | |||
| 164.24 | seano | Fri Jun 7 00:10:02 2002 | -ap056 $_=lc,$_=y/aeiouy//.'/'.s/\w//gfor$g=$_="@F",@F;$_&&=1+s/\S+ /$"^$"x4|$&/eg.(s/(.{57}).{4,}/$1.../,":^I$_
$g:^I").(s/[^ .]+ */shift@F|$"x18&$&/eg,/\D*$/,"$`
")
|
| uno mas | |||
| 164.26 | Ton Hospel | Tue Jun 4 00:42:23 2002 | -ap056 @Q=map$"x($z=y///c*s//$"x(3-$z)/e)|lc=~y/aeiouy//."/".s/\w/$&/g,$_.$",@F;$_="@F
";s/(.{57}).{4,}/$1.../;/\S+ *\./;$_="@Q"=~/ +(.{@{-}}\S+)/&&@F.":^I$_$`:^I$1
" |
| 164.26 | Ton Hospel | Tue Jun 4 14:45:41 2002 | -ap056 @Q=map$"x($z=y///c*s//$"x(3-$z)/e)|lc=~y/aeiouy//."/".s/\w/$&/g,$_.$:,@F;$_=":^I@F
";s/(.{59}).{4,}/$1.../;$#Q=()=/[ .]+/g;$_="@Q"=~/ +(.*\S)/&&@F."$_$`:^I$1
" |
| 164.28 | Ton Hospel | Tue Jun 4 03:00:16 2002 | -ap056 @Q=map$"x$+[!s/$/$"x(3-pos)/e]|lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F"&"\x7f"x$=;s/[^.]{3}$/.../;/\S+ *\.+/;$_="$`$&
@Q"=~/ +(.{@{-}}\S+).*$/&&@F.":^I$`:^I$1
" |
| 165.23 | seano | Thu Jun 6 23:40:03 2002 | -ap056 $_=lc,$_=y/aeiouy//.'/'.s/\w//gfor$g=$_="@F",@F;$x=1+s/\S+ /$"^$"x4|$&/eg.(s/(.{57}).{4,}/$1.../,":^I$_
$g:^I");s/[^ .]+ */shift@F|$"x18&$&/eg,s/(.*\d).*/$x$1
/
|
| Hey, only 15 more chars to go... | |||
| 165.26 | Ton Hospel | Mon Jun 3 01:56:52 2002 | -ap056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@Q=map$"x(($.=y///c*s//$"x-$./e-3)+3)|f,@F;$_=":^I@F
".f;s/(.{59}).{4,}/$1.../;/\S+ *\./;$_="@Q"=~/.{@{-}}\S+/&&@F."$_:^I$&
" |
| 166.22 | seano | Thu Jun 6 06:37:01 2002 | -ap056 $_=lc,$_=y/aeiouy//.'/'.s/\w//gfor$g=$_="@F",@F;$n=1+s/\S+ /$&|"\0 "/eg;s/(.{57}).{4,}/$1.../;$x=$_;s/[^ .]+ */shift@F|$"x18&$&/eg;s/(.*\d).*/$n:^I$x
$g:^I$1
/
|
| There's no way this should work, but it does. Random mutation rules! | |||
| 166.26 | Ton Hospel | Sun Jun 2 23:00:39 2002 | -ap056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@Q=map$"x(($.=y///c*s//$"x-$./e-3)+3)|f,@F;$_=":^I@F
".f;s/(.{59}).{4,}/$1.../;/\S+ *\./;$_="@Q"=~/.{$-[0]}\S+/&&@F."$_:^I$&
" |
| 166.37 | Marko Nippula | Wed Jun 5 16:28:11 2002 | -ap056 @G=map{$_|=$:^$:;' 'x y!! ^A-~!c|y?aeiouyAEIOUY??."/".s/\w/$&/g}$_,@F;$_="@F";s/(.{57})...+\S.*/$1.../;$#G=@x=/[^ .]+/g;$_=@F." $_\xa3@G\xa3"if@F;s/ +(.*?) *\xa3/:^I$1
/g |
| 167.26 | Ton Hospel | Sun Jun 2 22:49:41 2002 | -ap056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@Q=map$"x(s//$"x-$./e*($.=y/ //c-3)+3)|f,@F;$_=":^I@F
".f;s/(.{59}).{4,}/$1.../;/\S+ *\./;$_="@Q"=~/.{$-[0]}\S+/&&@F."$_:^I$&
" |
| 167.28 | Lolly Pop | Fri Jun 7 19:21:05 2002 | -ap056 sub f{lc=~y/aeiouy//."/".y/0-9A-z//}$Q=f;@q=map{s/$/ /until/\.|...$/g;$"x++pos|f}@F;s/(.{57}).{4,}/$1.../,$_=@F.":^I$_
$Q:^I@q[0..s/ [^ .]//g]
",s/ +$// if$_="@F"
|
| Can't seem to make much progress with the "do$0" approach. | |||
| 168.25 | Rick Klement | Wed Jun 5 13:02:12 2002 | -056ap sub c{lc=~y/aeiouy//.'/'.s/\w/$&/g}@c=map$"x(s!$!$"x(3-/\./-pos)!e*y///c)|c,@F;$c=c;$_="@F";s/(.{57}).{4,}/$1.../;$_&&=@F.":^I$_
$c:^I@c[0..s/[ .]+//g-1]
";s/ +$// |
| 168.26 | Ton Hospel | Sun Jun 2 22:33:16 2002 | -ap056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@Q=map{s//$"x-$./e;f|$"x(($.=y/ //c-3)+3)}@F;$_=":^I@F
".f;s/(.{59}).{4,}/$1.../;/\S+ *\./;$_="@Q"=~/.{$-[0]}\S+/&&@F."$_:^I$&
" |
| 168.29 | Lolly Pop | Fri Jun 7 12:13:32 2002 | -ap056 sub f{lc=~y/aeiouy//."/".y/A-z0-9//|$"x++pos}$Q=f;@q=map{s/$/ /until--pos>!/\./;f}@F;s/(.{57}).{4,}/$1.../,$_=@F.":^I$_
$Q:^I@q[0..s/ [^ .]//g]
",s/ +$// if$_="@F"
|
| don't need $&- interesting | |||
| 169.24 | Ton Hospel | Sun Jun 2 22:22:28 2002 | -ap056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@Q=map{$_=$"x-$..$_;f|$"x(($.=y/ //c-3)+3)}@F;$_=":^I@F
".f;s/(.{59}).{4,}/$1.../;/\S+ *\./;$_="@Q"=~/.{$-[0]}\S+/&&@F."$_:^I$&
" |
| 170.22 | seano | Thu Jun 6 05:43:35 2002 | -ap056 $_=lc,$_=y/aeiouy//.'/'.s/\w//gfor$g=$_="@F",@F;$n=1+s/\S+ /$&|"\0 "/eg;s/(.{57}).{4,}/$1.../;$x=$_;s/[^ .]+ */shift@F|$"x length$&/eg;s/(.*\d).*/$n:^I$x
$g:^I$1
/
|
| Get rid of useless variables. This is becoming truly sick. | |||
| 170.25 | Ton Hospel | Sat Jun 1 16:37:51 2002 | -ap056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@Q=map f.$"x($.=y///c*s//$"x-$./e-length&f),@F;$_="@F
".f;s/(.{57}).{4,}/$1.../;/\S+ *\./;$_="@Q"=~/.{$-[0]}\S+/&&@F.":^I$_:^I$&
" |
| 170.29 | Lolly Pop | Fri Jun 7 04:08:28 2002 | -ap056 sub f{lc=~y/aeiouy//."/".y/A-z0-9//}@q=map{s/$/ /until--pos>!/\./;f|$"x++pos}@F;$Q=f,s/(.{57}).{4,}/$1.../,$_=@F.":^I$_
$Q:^I@q[0..s/ [^ .]/$&/g]
",s/ +$// if$_="@F"
|
| guess not! | |||
| 171.23 | Eugene van der Pijll | Sat Jun 1 23:49:06 2002 | -ap056 sub t{lc=~y/aeiouy//."/".s/\w/$&/g}my@z;$_=/./&&(map$_^=t^($z[@z]=t^t^$_),@F).":^I@z
".t.":^I@F
";y/\0/ /;s/ +$//mg;s/(^.*^I.{57}).{4,}/$1.../&&s#(^I.{0,56}\S+).*\Z#$1# |
| Yes! The \0 in the yansliteration should be a literal ctrl-@ character. | |||
| 171.28 | Lolly Pop | Fri Jun 7 04:02:24 2002 | -ap056 sub f{lc=~y/aeiouy//."/".y/A-z0-9//}@q=map{s/$/ /until/\./|--pos>1;f|$"x++pos}@F;$Q=f,s/(.{57}).{4,}/$1.../,$_=@F.":^I$_
$Q:^I@q[0..s/ [^ .]/$&/g]
",s/ +$// if$_="@F"
|
| end of the line? | |||
| 172.25 | Stephen Turner | Tue Jun 4 16:48:04 2002 | -lpa056 sub b{lc=~y/aeiouy//.'/'.s/\w/$&/g}$m=b$_=sprintf'%-3s 'x@F,@F;s/ +$//?s/(.{57})...+/$1../:last;@0=map{A.y///c}/\S+ +(?!\.)/g;$_=@F.":^I$_.
$m:^I".pack"@0A*",map b,@F
|
| 172.25 | Rick Klement | Tue Jun 4 01:15:06 2002 | -056ap sub c{lc=~y/aeiouy//.'/'.s/\w/$&/g}@c=map$"x(s!$!$"x(3-/\./-pos)!e*y///c)|c,@F;$c=c;$_="@F";pos=57;s/\G.{4,}//&&($#c=split)--^s/$/.../;$_&&=@F.":^I$_
$c:^I@c
";s/ +$// |
| 172.30 | Lolly Pop | Fri Jun 7 18:34:34 2002 | -ap056 if(//){@q=map{s/$/ /until/\.|...$/g;$"x++pos|do$0}@F,$_;s/(.{57}).{4,}/$1.../,$_=@F.":^I$_
$Q:^I@q[0..s/ [^ .]//g]
",s/ +$// if$_="@F"}$Q=lc=~y/aeiouy//."/".y/0-9A-z//
|
| ?: to if(){} | |||
| 173.23 | Rick Klement | Mon Jun 3 17:13:29 2002 | -056ap sub c{lc=~y/aeiouy//.'/'.s/\w//g}@c=map$"x y///c|c,map$_.=$"x(3-/\./-length),@F;$c=c;$_="@F";s/(.{57}).{4,}/$1/&&($#c=split)--^s/$/.../;$_&&=@F.":^I$_
$c:^I@c
";s/ +$// |
| 173.25 | Stephen Turner | Mon Jun 3 19:13:00 2002 | -lpa056 sub b{lc=~y/aeiouy//.'/'.s/\w/$&/g}$_=sprintf'%-3s 'x@F,@F;s/ +$//?$m=b:last;s/(.{57})...+/$1../;@0=map{A.y///c}/\S+ +(?!\.)/g;$_=@F.":^I$_.
$m:^I".pack"@0A*",map b,@F
|
| 173.28 | Lolly Pop | Fri Jun 7 03:42:52 2002 | -ap056 sub f{lc=~y/aeiouy//."/".y/A-z0-9//|$"x++pos}@q=map{s/$/ /until--pos>1;f}@F;$Q=f,s/ $//,s/(.{57}).{4,}/$1.../,$_=@F.":^I$_
$Q:^I@q[0..s/ [^ .]/$&/g]
",s/ +$// if$_="@F"
|
| rework the "$_=" part | |||
| 174.18 | Mtv Europe | Fri Jun 7 20:02:21 2002 | -ap056 sub B{lc=~y/aeiouy//.v47.(@Q=/\w/g)}$B=$Z=$C=v9;$C^=$C=($C!~/.{58}/|/\./&($Z|=$C.$_)!~s/(.{58}).{4,}/$1.../?$B|=$C.B:0).1^$Z.1for@F;$_=@F?@F.":$Z
".B.":$B
":$T;y/\0/ /
|
| maybe last posting, improving tie a little | |||
| 174.19 | Mtv Europe | Thu Jun 6 11:49:38 2002 | -ap056 sub B{lc=~y/aeouiy//.v47.(@Q=/\w/g)}$B=$Z=$C=":^I";$C^=$C=($C!~/.{59}/|/\./&($Z|=$C.$_)!~s/(.{59}).{4,}/$1.../?$B|=$C.B:0).1^$Z.1for@F;$_=@F?@F."$Z
".B."$B
":$T;y/\0/ /
|
| 174.25 | Stephen Turner | Mon Jun 3 19:09:09 2002 | -lpa056 sub b{lc=~y/aeiouy//.'/'.s/\w/$&/g}$_=sprintf'%-3s 'x@F,@F;s/ +$//||last;$m=b;s/(.{57})...+/$1../;@0=map{A.y///c}/\S+ +(?!\.)/g;$_=@F.":^I$_.
$m:^I".pack"@0A*",map b,@F
|
| 174.30 | Lolly Pop | Fri Jun 7 18:04:32 2002 | -ap056 //?do{@q=map{s/$/ /until/\.|...$/g;$"x++pos|do$0}@F,$_;s/(.{57}).{4,}/$1.../,$_=@F.":^I$_
$Q:^I@q[0..s/ [^ .]//g]
",s/ +$// if$_="@F"}:($Q=lc=~y/aeiouy//."/".y/0-9A-z//)
|
| third approach: build around do$0 | |||
| 175.24 | Ton Hospel | Sat Jun 1 15:24:09 2002 | -ap056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}$f=f;@Q=map f.$"x($.=y///c*s//$"x-$./e-length&f),@F;$_="@F";s/(.{57}).{4,}/$1.../;/\S+ *\./;$_="@Q"=~/.{$-[0]}\S+/&&@F.":^I$_
$f:^I$&
" |
| 175.25 | Stephen Turner | Mon Jun 3 14:06:08 2002 | -lpa056 sub b{lc=~y/aeiouy//.'/'.s/\w/$&/g}$_=sprintf'%-3s 'x@F,@F;s/ +$//||last;$m=b;s/(.{57})...+/$1../;@t=map{A.y///c}/\S+ +(?!\.)/g;$_=@F.":^I$_.
$m:^I".pack"@t A*",map b,@F
|
| 175.27 | Lolly Pop | Fri Jun 7 01:47:53 2002 | -ap056 sub f{lc=~y/aeiouy//."/".y/A-z0-9//}@q=map{s/$/ /until--pos>1;f|$"x++pos}@F;s/ $//,$V=f,s/(.{57}).{4,}/$1.../,$q[$#q=@p=/ [^ .]/g]=~s/ //g,$_=@F.":^I$_
$V:^I@q
"if$_="@F"
|
| don't need the *-qualifier in s/ *$// | |||
| 175.31 | Martin Carlsen | Fri Jun 7 22:58:33 2002 | -056npa sub c{y/aeiouyAEIOUY//."/".y/a-zA-Z0-9//}$_=(@c=map{$_.=$"x($p=/\./?0:length(c)-length);c.$"x-$p}@F)?@F.":^I@F
".c.":^I@c
":"";s/(^I.{57}).{4,}(
.*^I.{0,56}\S+).*/$1...$2/ |
| 175.31 | Martin Carlsen | Fri Jun 7 22:58:34 2002 | -056npa sub c{y/aeiouyAEIOUY//."/".y/a-zA-Z0-9//}$_=(@c=map{$_.=$"x($p=/\./?0:length(c)-length);c.$"x-$p}@F)?@F.":^I@F
".c.":^I@c
":"";s/(^I.{57}).{4,}(
.*^I.{0,56}\S+).*/$1...$2/ |
| 176.20 | Mtv Europe | Wed Jun 5 22:50:51 2002 | -ap056 sub B{lc=~y/aeiouy//.v47.(@Q=/\w/g)}reset BZC;length$C<57|/\./&($Z|=$C.$_)!~s/(.{57}).{4,}/$1.../&&($B|=$C.B),$C^=$C=$B.1^$Z.1for@F;$_=@F?@F.":^I$Z
".B.":^I$B
":$T;y/\0/ /
|
| Shock from Alexander's 177 helps me to recognize my mistake (cycling on that nice /^\0+(??{...... ), so i've got the idea. I draw this little sketch and i'll be back tomorrow. | |||
| 176.21 | Juho Snellman | Fri Jun 7 20:42:25 2002 | -p056 @d=map{$_|=$"x3&"$_ ";$"x
y...c|(@z=/[aeiouy]/ig).'/'.s/\w/$&/g}@w=/\S*\w\S*/g,$_;s/(.{57})...+\S/$1.../,$_=@w.":^I$_
$d[-1]:^I@d[0..s/ +[^.]//g]
"if$_="@w";s/ +(
|:)/$1/g
|
| s/ +(?=$|:)//mg -> s/ +(\n|:)/$1/g | |||
| 176.24 | Ton Hospel | Sat Jun 1 08:55:22 2002 | -ap056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}$f=f;@Q=map f.$"x($.=y///c*s//$"x-$./e-length&f),@F;$_="@F";s/(.{57}).{4,}/$1.../;/\S+\s*\./;$_="@Q"=~/.{$-[0]}\S+/&&@F.":^I$_
$f:^I$&
" |
| 176.25 | Guillermo Sansovic | Fri Jun 7 19:40:18 2002 | -pa056 sub c{uc=~y/AEIOUY//.'/'.s/\w//g}$w=c;@s=map{sprintf"%-3s",$_}@F;$_="@s";s/(.{57})...+\S/$1.../;$_&&=(@c=map{pack"A".y///c,c}@s).":^I$_
$w:^I@c[0..s/ +[^.]//g]
";s/ +$//gm |
| 176.27 | Lolly Pop | Fri Jun 7 00:23:52 2002 | -ap056 sub f{lc=~y/aeiouy//."/".y/A-z0-9//}$V=f;@q=map{s/$/ /until--pos>1;f|$"x++pos}@F;s/ *$//,s/(.{57}).{4,}/$1.../,$q[$#q=@p=/ [^ .]/g]=~s/ //g,$_=@F.":^I$_
$V:^I@q
"if$_="@F"
|
| get rid of join | |||
| 176.30 | Martin Carlsen | Fri Jun 7 20:38:30 2002 | -056npa sub c{y/aeiouyAEIOUY//."/".y/a-zA-Z0-9//}$_=(@c=map{$p=/\./?0:length(c)-length;$_.=$"x$p;c.$"x-$p}@F)?@F.":^I@F
".c.":^I@c
":"";s/(^I.{57}).{4,}(
.*^I.{0,56}\S+).*/$1...$2/ |
| 0.01 points better, but not good enough | |||
| 176.31 | Martin Carlsen | Thu Jun 6 07:13:12 2002 | -056npa sub c{y/aeiouyAEIOUY//."/".y/a-zA-Z0-9//}$_=(@c=map{$p=/\./?0:length(c)-length;$_.=$"x$p;c.$"x-$p}@F)?@F.":^I@F
".c.":^I@c
":"";s/(^I.{57})....+(
.*^I.{0,56}\S+).*/$1...$2/ |
| 176.33 | Alexander Onokhov | Thu Jun 6 16:59:29 2002 | -ap056 ($x,@D)=map{$_.=$"x(3-length);y/aeiouyAEIOUY//."/".s/\w/$&/g}$_,@F;$_="@F ";s/(.{57})...+\./$1.../;$_=@F.":^I$_
$x:^I${s/\S+[ .]+/A.length$&/ge,\pack$_,@D}
"if@F;s/ +$//mg |
| 176.33 | Alexander Onokhov | Fri Jun 7 17:49:05 2002 | -ap056 ($x,@D)=map{$_.=$"x(3-length);y/aeiouyAEIOUY//."/".s/\w/$&/g}$_,@F;$_="@F ";s/(.{57})...+\./$1.../;$_=@F.":^I$_
$x:^I${s/\S+[ .]+/A.length$&/ge,\pack$_,@D}
"if@F;s/ +$//mg |
| 177.21 | Juho Snellman | Fri Jun 7 20:38:25 2002 | -p056 @d=map{$_|=$"x3&"$_ ";$"x
y...c|(@z=/[aeiouy]/ig).'/'.s/\w/$&/g}@w=/\S*\w\S*/g,$_;s/(.{57})...+\S/$1.../,$_=@w.":^I$_
$d[-1]:^I@d[0..s/ +[^.]//g]
"if$_="@w";s/ +(?=$|:)//mg
|
| .{3,} -> ...+ | |||
| 177.24 | Ton Hospel | Sat Jun 1 07:58:31 2002 | -ap056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}$f=f;@Q=map!s//$"x-$./e.f.$"x($.=y/ //c-length&f),@F;$_="@F";s/(.{57}).{4,}/$1.../;/\S+\s*\./;$_="@Q"=~/.{$-[0]}\S+/&&@F.":^I$_
$f:^I$&
" |
| 177.25 | Stephen Turner | Mon Jun 3 11:01:46 2002 | -lpa056 sub b{lc=~y/aeiouy//.'/'.s/\w/$&/g}$_=sprintf('%-3s 'x$#F,@F).$F[-1]||last;$m=b;s/(.{57})...+/$1../;@t=map{A.y///c}/\S+ +(?!\.)/g;$_=@F.":^I$_.
$m:^I".pack"@t A*",map b,@F
|
| Just a trivial change to improve my tie break score. | |||
| 177.26 | Stephen Turner | Sun Jun 2 20:57:48 2002 | -lpa056 sub b{lc=~y/aeiouy//.'/'.s/\w/$&/g}$_=sprintf('%-3s 'x$#F,@F).$F[-1]||exit;$m=b;s/(.{57})...+/$1../;@t=map{A.y///c}/\S+ +(?!\.)/g;$_=@F.":^I$_.
$m:^I".pack"@t A*",map b,@F
|
| Although the rules emphasise that underscore is not a letter, they also do not allow underscore to occur in the input, so using \w to count alphanumerics is OK. | |||
| 177.32 | Marko Nippula | Tue Jun 4 19:30:59 2002 | -ap056 @G=map{y?aeiouyAEIOUY??."/".s/\w/$&/g|' 'x y///c}$_,@X=map{sprintf"%-3s",$_}@F;$_="@X";s/(.{57})...+\S.*/$1.../;$#G=split/ +\.*/;$_=@X." $_\xd6@G\xd6"if@F;s/\s+(.*?) *\xd6/:^I$1
/g |
| 177.32 | Marko Nippula | Tue Jun 4 20:31:39 2002 | -ap056 @G=map{y?aeiouyAEIOUY??."/".s/\w/$&/g|' 'x y///c}$_,@X=map{sprintf"%-3s",$_}@F;$_="@X";s/(.{57})...+\S.*/$1.../;$#G=split/ +\.*/;$_=@X." $_\xd6@G\xd6"if@F;s/\s+(.*?) *\xd6/:^I$1
/g |
| 177.32 | Alexander Onokhov | Wed Jun 5 19:53:10 2002 | -ap056 ($x,@D)=map{$_.=$"x(3-length);y/aeiouyAEIOUY//."/".s/\w/$&/g}$_,@F;$_="@F";s/(.{57})...+\./$1.../;$_=@F.":^I$_
$x:^I${s/\S+[ .]+/A.length$&/ge,\pack$_.9,@D}
"if@F;s/ +$//mg |
| 177.32 | Alexander Onokhov | Thu Jun 6 16:59:10 2002 | -ap056 ($x,@D)=map{$_.=$"x(3-length);y/aeiouyAEIOUY//."/".s/\w/$&/g}$_,@F;$_="@F";s/(.{57})...+\./$1.../;$_=@F.":^I$_
$x:^I${s/\S+[ .]+/A.length$&/ge,\pack$_.9,@D}
"if@F;s/ +$//mg |
| 178.20 | Juho Snellman | Fri Jun 7 20:14:59 2002 | -p056 @d=map{$_|=$"x3&"$_ ";$"x
y...c|(@z=/[aeiouy]/ig).'/'.s/\w/$&/g}@w=/\S*\w\S*/g,$_;s/(.{57}).{3,}\S/$1.../,$_=@w.":^I$_
$d[-1]:^I@d[0..s/ +[^.]//g]
"if$_="@w";s/ +(?=$|:)//mg
|
| Move a s/// outside the if, saving a space. | |||
| 178.22 | Eugene van der Pijll | Sat Jun 1 21:17:16 2002 | -ap056 sub t{lc=~y/aeiouy//."/".s/\w/$&/g}my@z;$_=/./&&(@x=map{$z[@z]=$b=t^$_^$_;$_^t^t}@F).":^I@x
".t.":^I@z
";y/\0/ /;s/ +$//mg;s/(^.*^I.{57}).{4,}/$1.../&&s#(^I.{0,56}\S+).*\Z#$1# |
| Thank you perlrun! | |||
| 178.24 | Ton Hospel | Sat Jun 1 07:50:47 2002 | -ap056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}$f=f;@Q=map!s/^/$"x-$./e.f.$"x($.=y/ //c-length&f),@F;$_="@F";s/(.{57}).{4,}/$1.../;/\S+\s*\./;$_="@Q"=~/.{$-[0]}\S+/&&@F.":^I$_
$f:^I$&
" |
| 178.25 | Guillermo Sansovic | Thu Jun 6 23:55:10 2002 | -pa056 sub c{uc=~y/AEIOUY//.'/'.s/\w//g}$w=c;@s=map{sprintf"%-3s",$_}@F;$_="@s";s/(.{57})...+\S/$1.../;$_&&=(@c=map{pack"A".y///c,c}@s).":^I$_
$w:^I@c[0..s/ +[^.]/$&/g]
";s/ +$//gm
|
| 178.29 | Stephen Turner | Sun Jun 2 15:46:07 2002 | -lpa056 sub b{lc=~y/aeiouy//.'/'.y/A-z0-9//}$_=sprintf('%-3s 'x$#F,@F).$F[-1]||exit;$m=b;s/(.{57})...+/$1../;@t=map{A.y///c}/\S+ +(?!\.)/g;$_=@F.":^I$_.
$m:^I".pack"@t A*",map b,@F
|
| 178.33 | Amir Karger | Fri Jun 7 18:35:54 2002 | -pa056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}$t=g;@r=map{$_=sprintf"%-3s",$_;pack A.y///c,g}@F;s/ +$//,s/(.{57})....+/$1.../,$_=@F.":^I$_
$t:^I@r[0..s/ +[^.]//g]
",s/ +$// if$_="@F" |
| Thanks to Chris Sarnowski! | |||
| 179.20 | Juho Snellman | Fri Jun 7 19:49:56 2002 | -p056 @d=map{$_|=$"x3&"$_ ";$"x
y...c|(@z=/[aeiouy]/ig).'/'.s/\w/$&/g}@w=/\S*\w\S*/g,$_;s/(.{57}).{3,}\S/$1.../,$_=@w.":^I$_
$d[-1]:^I@d[0..s/ +[^.]//g]
",s/ +(?=$|:)//mg if$_="@w"
|
| Replace a @_=// with s//$&/ | |||
| 179.24 | Rick Klement | Sun Jun 2 16:51:56 2002 | -056ap sub c{lc=~y/aeiouy//.'/'.s/\w//g}$c=c;$_="@F",s/(.{57}).{4,}/$1/&&($#c=split)--^s/$/.../,$\.=@F.":^I$_
$c:^I@c
"if@c=map$"x y///c|c,map$_.=$"x(3-/\./-length),@F;$\=~s/ +$//}{ |
| 180.20 | Juho Snellman | Fri Jun 7 19:29:25 2002 | -p056 @d=map{$_|=$"x3&"$_ ";$"x
y...c|(@z=/[aeiouy]/ig).'/'.(@x=/\w/g)}@w=/\S*\w\S*/g,$_;s/(.{57}).{3,}\S/$1.../,$_=@w.":^I$_
$d[-1]:^I@d[0..s/ +[^.]//g]
",s/ +(?=$|:)//mg if$_="@w"
|
| Woohoo, 7 strokes off with some reorganization. | |||
| 180.21 | Eugene van der Pijll | Sat Jun 1 21:13:16 2002 | -p056 sub t{lc=~y/aeiouy//."/".s/\w/$&/g}my@z;$_=/./&&(@x=map{$z[@z]=$b=t^$_^$_;$_^t^t}split).":^I@x
".t.":^I@z
";y/\0/ /;s/ +$//mg;s/(^.*^I.{57}).{4,}/$1.../&&s#(^I.{0,56}\S+).*\Z#$1# |
| Ahhh... much better. I used a standard golf technique here: going from a string based algorithm to an array based one. The xor'ing of the two lines to equalise the lengths is much clearer in this version. I don't like the my@z. I'll work on that next, probably. | |||
| 180.23 | Ton Hospel | Sat Jun 1 07:42:01 2002 | -an056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}$f=f;@Q=map!s/^/$"x-$./e.f.$"x($.=y/ //c-length&f),@F;$_="@F";s/(.{57}).{4,}/$1.../;/\S+\s*\./;"@Q"=~/.{$-[0]}\S+/&&print@F.":^I$_
$f:^I$&
" |
| 180.23 | Keith Calvert Ivey | Tue Jun 4 02:33:29 2002 | -pa056 sub c{lc=~y/aeiouy//.'/'.(()=/\w/g)}$p=c;$_=sprintf'%-3s 'x@F,@F;s/ +$//and$f=$/x3x
s/(.{57}).{4,}/$1/,$_=@F.":^I$_$f
$p:^I".pack"@{[map A.y///c,/\S+ */g]}9",map c,@F;s/ +$/
/ |
| Okay, changing ....+ to .{4,} only helps the tiebreaker, but 0.01 is better than nothing. | |||
| 180.24 | Keith Calvert Ivey | Tue Jun 4 02:19:23 2002 | -pa056 sub c{lc=~y/aeiouy//.'/'.(()=/\w/g)}$p=c;$_=sprintf'%-3s 'x@F,@F;s/ +$//and$f=$/x3x
s/(.{57})....+/$1/,$_=@F.":^I$_$f
$p:^I".pack"@{[map A.y///c,/\S+ */g]}9",map c,@F;s/ +$/
/ |
| 180.28 | Lolly Pop | Fri Jun 7 00:20:57 2002 | -ap056 sub f{join"/",lc=~y/aeiouy//,y/A-z0-9//}$V=f;@q=map{s/$/ /until--pos>1;f|$"x++pos}@F;s/ *$//,s/(.{57}).{4,}/$1.../,$q[$#q=@p=/ [^ .]/g]=~s/ //g,$_=@F.":^I$_
$V:^I@q
"if$_="@F"
|
| second attempt: build around a sub | |||
| 180.29 | Stephen Turner | Sun Jun 2 08:15:11 2002 | -lpa056 sub b{lc=~y/aeiouy//.'/'.y/A-z0-9//}$_=sprintf('%-3s 'x$#F,@F).$F[-1]||exit;$m=b;s/(.{57})...+/$1../;@t=map{A.y///c}/[^ ]+ +(?!\.)/g;$_=@F.":^I$_.
$m:^I".pack"@t A*",map b,@F
|
| 182.33 | Amir Karger | Fri Jun 7 17:46:22 2002 | -pa056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}$t=g;@r=map{$_=sprintf"%-3s",$_;pack A.y///c,g}@F;$_="@F"||exit;s/ +$//;s/(.{57})....+/$1.../;$_=@F.":^I$_
$t:^I@r[0..s/ +[^.]//g]
";s/ +$// |
| 5 characters, and I only move up one space in the rankings?! | |||
| 182.33 | Amir Karger | Fri Jun 7 17:57:49 2002 | -pa056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}$t=g;@r=map{$_=sprintf"%-3s",$_;pack A.y///c,g}@F;$_="@F"||exit;s/ +$//;s/(.{57})....+/$1.../;$_=@F.":^I$_
$t:^I@r[0..s/ +[^.]//g]
";s/ +$// |
| Thanks to Chris Sarnowski! | |||
| 183.23 | Keith Calvert Ivey | Tue Jun 4 00:40:33 2002 | -pa056 sub c{lc=~y/aeiouy//.'/'.(()=/\w/g)}$p=c;$_=sprintf'%-3s 'x@F,@F
and$f=$/x3x s/(.{57})...+\S.*/$1/,$_=@F.":^I$_$f
$p:^I".pack("@{[map A.y///c,/\S+ */g]}9",map c,@F).'
',s/ +$//gm |
| 185.21 | Ton Hospel | Sat Jun 1 06:31:27 2002 | -an056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@Q=map{$_.=$"x-($z=y///c-length&f);f.$"x$z}@F;$f=f;$_="@F";s/ *$//;s/(.{57}).{4,}/$1.../;/\S+\s*\./;"@Q"=~/.{$-[0]}\S+/&&print@F.":^I$_
$f:^I$&
" |
| 186.24 | Keith Calvert Ivey | Mon Jun 3 03:18:29 2002 | -pa056 sub c{lc=~y/aeiouy//.'/'.(()=/\w/g)}$p=c;$_=sprintf'%-3s 'x@F,@F
and$f=$/x3x s/(.{57})...+\S.*/$1/,$_=@F.":^I$_$f
$p:^I".pack((join'',map A.y///c,/\S+ */g).9,map c,@F).'
',s/ +$//gm |
| 187.18 | Juho Snellman | Fri Jun 7 16:31:51 2002 | -p056 @d=map{$_|=$"x3&"$_ ";$v+=@z=/[aeiouy]/ig;$t+=@x=/\w/g;$"x
y...c|@z.'/'.@x}@w=/\S*\w\S*/g;s/(.{57}).{3,}\S/$1.../,$_=@d.":^I$_
$v/$t:^I@d[0..s/ +[^.]//g]
",s/ +$//mg,$v=$t=0if$_="@w" |
| Get rid of a space. | |||
| 187.23 | Lolly Pop | Thu Jun 6 23:15:29 2002 | -ap056 $V=$L=0;@q=map{$L+=@p=/\w/g;$V+=@n=/[aeiouy]/gi;s/$/ /until--pos>1;@n."/".@p|$"x++pos}@F;s/ *$//,s/(.{57}).{4,}/$1.../,$q[$#q=@p=/ [^ .]/g]=~s/ //g,$_=@F.":^I$_
$V/$L:^I@q
"if$_="@F"
|
| replace other y/// with m//g | |||
| 187.24 | Rick Klement | Sun Jun 2 14:02:04 2002 | -056ap sub c{lc=~y/aeiouy//.'/'.s/[^\W_]/$&/g}$c=c;$_="@F",s/(.{57}).{4,}/$1/&&($#c=split)--^s/$/.../,$\.=@F.":^I$_
$c:^I@c
"if@c=map{c|$"x y///c}map$_.=$"x(3-length)x!/\./,@F;$\=~s/ +$//}{ |
| 187.24 | Keith Calvert Ivey | Mon Jun 3 01:11:00 2002 | -pa056 sub c{lc=~y/aeiouy//.'/'.(()=/\w/g)}$p=c;$_=sprintf'%-3s 'x@F,@F
and$f=$/x3x s/(.{57})...+\S.*/$1/,$_=@F.":^I$_$f
$p:^I".(pack+(join'',map A.y///c,/\S+ */g).9,map c,@F).'
',s/ +$//gm |
| 187.33 | Amir Karger | Fri Jun 7 17:36:46 2002 | -pa056 sub g{y/aeiouyAEIOUY//."/".s/\w//g}$t=g;map{$_=sprintf"%-3s",$_}@F;$_="@F"||exit;s/ +$//;s/(.{57})....+/$1.../;map{$_=pack A.y///c,g}@F;$_=@F.":^I$_
$t:^I@F[0..s/ +[^.]//g]
";s/ +$// |
| Aha! I *knew* storing ideas from previous contests would come in useful! | |||
| 188.18 | Mtv Europe | Tue Jun 4 18:15:02 2002 | -ap056 sub B{lc=~y/aeiouy//.v47.(@Q=/\w/g)}$B=$Z=$C=':^I';$C^=$C=($B|=$C.B).1^($Z|=$C.$_).1,$Z=~s/(.{59}).{4,}/$1.../&&$B=~s/\0+(??{$+[0]<59&&v9}).*//for@F;$_=@F?@F."$Z
".B."$B
":$T;y/\0/ /
|
| another one bytes the dust | |||
| 188.18 | Juho Snellman | Fri Jun 7 00:52:08 2002 | -p056 @d=map{$_|=$"x3&"$_ ";$v+=@z=/[aeiouy]/ig;$t+=@x=/\w/g;$"x
y...c|@z.'/'.@x}@w=/\S*\w\S*/g;s/(.{57}).{3,}\S/$1.../,$_=@d.":^I$_
$v/$t:^I@d[0..s/ +[^.]//g]
",s/ +$//mg if$_="@w";$v=$t=t
|
| Twiddle with the tiebreakers, and -> if | |||
| 188.22 | Lolly Pop | Thu Jun 6 22:06:31 2002 | -ap056 $V=$L=0;@q=map{$L+=@p=/\w/g;s/$/ /until--pos>1;$V+=$n=lc=~y#aeiouy##;"$n/".@p|$"x++pos}@F;s/ *$//,s/(.{57}).{4,}/$1.../,$q[$#q=@p=/ [^ .]/g]=~s/ //g,$_=@F.":^I$_
$V/$L:^I@q
"if$_="@F"
|
| dump silly "." | |||
| 188.33 | Amir Karger | Fri Jun 7 15:46:19 2002 | -pa056 sub g{y/aeiouyAEIOUY//."/".s/\w//g}$t=g;map{$_=sprintf"%-3s",$_}@F;$_="@F"||exit;s/ +$//;s/(.{57})....+/$1.../;map{$_=pack"A".y///c,g}@F;$_=@F.":^I$_
$t:^I@F[0..s/ +[^.]//g]
";s/ +$// |
| Ha! (OK, it's only *really* two characters less than my 198.) | |||
| 189.17 | Mtv Europe | Tue Jun 4 12:56:09 2002 | -apX056 sub B{lc=~y/aeouiy//.v47.(@Q=/\w/g)}$B=$Z=$C=":^I";$B|=$C.B,($Z|=$C.$_)=~s/(.{59}).{4,}/$1.../&&$B=~s/\0+(??{$+[0]<59&&w}).*//,$C^=$C=$B.1^$Z.1for@F;$_=@F?@F."$Z
".B."$B
":$T;y/\0/ /
|
| don't insert \n in this code | |||
| 189.22 | Lolly Pop | Thu Jun 6 22:04:23 2002 | -ap056 $V=$L=0;@q=map{$L+=@p=/\w/g;s/$/ /until--pos>1;$V+=$n=lc=~y#aeiouy##;$n."/".@p|$"x++pos}@F;s/ *$//,s/(.{57}).{4,}/$1.../,$q[$#q=@p=/ [^ .]/g]=~s/ //g,$_=@F.":^I$_
$V/$L:^I@q
"if$_="@F"
|
| use regexp for letter count | |||
| 189.23 | Michiel van Leeuwen | Thu Jun 6 22:10:27 2002 | -anp056 @F=($_="@F",@F);s/\S+ /$&|"\0"x4/ge;y/\0/ /;@F=map{$_=lc;" "x y///c|y/aeiouy//."/".s/\w//g}@F;$_&&="$#F:^I$_
@F
";s/(
\S*) +/$1:^I/;s/(^I.{57}).{4,}(
.*:.+?.{56}) .*/$1...$2
/s;s/ +$// |
| 189.24 | Keith Calvert Ivey | Mon Jun 3 00:15:22 2002 | -pa056 sub c{lc=~y/aeiouy//.'/'.(()=/\w/g)}$p=c;$_=sprintf'%-3s 'x@F,@F
and($f=$/x3x s/(.{57})...+\S.*/$1/,$_=@F.":^I$_$f
$p:^I".(pack+(join'',map A.y///c,/\S+ */g).9,map c,@F).'
',s/ +$//gm) |
| 189.26 | Rick Klement | Sat Jun 1 22:40:57 2002 | -056ap sub c{lc=~y/aeiouy//.'/'.y/a-zA-Z0-9//}$c=c;$_="@F",s/(.{57}).{4,}/$1.../&&($#c=-1+split' ',$1),$\.=@F.":^I$_
$c:^I@c
"if@c=map{c|$"x y///c}map$_.=$"x(3-length)x!/\./,@F}{$\=~s/ +$//mg |
| 189.32 | Juho Snellman | Fri Jun 7 00:43:06 2002 | -p056 @d=map{$_|=$"x3&"$_ ";$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x
y...c|@y.'/'.@o}@w=/\S*\w\S*/g;$_="@w"and
s/(.{57}).{3,}\S/$1.../,$_=@d.":^I$_
$v/$a:^I@d[0..s/ +[^.]//g]
",s/ +$//mg;$v=$a=a |
| 190.21 | Yanick Champoux | Fri Jun 7 22:33:35 2002 | -p056 sub
t{map
y/aeiyou//.'/'.s/\w//g,lc}@q=map$_.$"x(3-tr///c),split;@w=t$_="@q";s/(.{57})...+\./$1.../;$_=@q.":^I$_
@w:^I@{[map{sprintf'%-'.y///c.'s',t}@q[0..$#z]]}
"if@z=/\w\S*/g;s/ *$//gm |
| 190.33 | Juho Snellman | Fri Jun 7 00:38:43 2002 | -p056 @d=map{$_|=$"x3&"$_ ";$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x
y...c|@y.'/'.@o}@w=/\S*\w\S*/ig;$_="@w"and
s/(.{57}).{3,}\S/$1.../,$_=@d.":^I$_
$v/$a:^I@d[0..s/ +[^.]//g]
",s/ +$//mg;$v=$a=a |
| 191.17 | Mtv Europe | Tue Jun 4 10:40:14 2002 | -apX056 sub B{lc=~y/aeouiy//.v47.(@Q=/\w/g)}$B=$Z=":^I";$B|=($C^=$C=($B^$Z).$B=~v47).B,($Z|=$C.$_)=~s/(.{59}).{4,}/$1.../&&$B=~s/\0+(??{$+[0]<59&&w}).*//for@F;$_=@F?@F."$Z
".B."$B
":$T;y/\0/ /
|
| 191.21 | Andrew Savige | Fri Jun 7 21:58:43 2002 | -ap056 $s=$t=0;@n=map{$t+=($s+=@q=/\w/g,$_.=$"x(3-tr)))c),$z=pack A.y)))c,lc=~y)aeiouy)).v47.@q);$z}@F;s@(.{57})..[^.].+@$1...@,$_=@F.":^I$_
$t/$s:^I@n[0..-1+split/[. ]+/]
",s, +$,,mg if$_="@F"
|
| 192.20 | Jay Tilton | Fri Jun 7 23:35:35 2002 | -ap056 sub c{$_=lc;y/aeiouy//.'/'.s/\w//g}
$s=$t=":\t";($s.=$_.$")|=($t.=c."\0")^($t|=$s^$s)for@F;$_=($v=@F)?"$v$s
${\c}$t
":'';y/\0/ /;s/(:.{58})...+\./$1.../&&s|(:.{57,}?) \d.*|$1|;s/ +$//mg |
| ...and three more | |||
| 192.23 | Michiel van Leeuwen | Thu Jun 6 15:30:19 2002 | -anp056 @F=($_="@F",@F);s/\S+ /$&|"\0"x4/ge;y/\0/ /;map{$_=lc;$_=" "x y///c|y/aeiouy//."/".s/\w//g}@F;($g="@F")=~s/ +/:^I/;$_&&="$#F:^I$_
$g
";s/(^I.{57}).{4,}(
.*:.+?.{56}) .*/$1...$2
/s;s/ +$// |
| 192.24 | Lolly Pop | Thu Jun 6 21:18:37 2002 | -ap056 $V=$L=0;@q=map{s/$/ /until--pos>1;$V+=$n=lc=~y#aeiouy##;$L+=$d=y#A-z0-9##;"$n/$d"|$"x++pos}@F;s/ *$//,s/(.{57}).{4,}/$1.../,$q[$#q=@p=/ [^ .]/g]=~s/ //g,$_=@F.":^I$_
$V/$L:^I@q
"if$_="@F"
|
| replaced pack with a bit twiddler. | |||
| 192.25 | Keith Calvert Ivey | Sun Jun 2 18:48:01 2002 | -pa056 sub c{lc=~y/aeiouy//.'/'.(()=/\w/g)}$p=c;$_=sprintf'%-3s 'x@F,@F
or next;$f=$/x3x s/(.{57})...+\S.*/$1/;$_=@F.":^I$_$f
$p:^I".(pack+(join'',map A.y///c,/\S+ */g).9,map c,@F).'
',s/ +$//gm |
| 192.33 | Juho Snellman | Thu Jun 6 23:06:04 2002 | -p056 @d=map{$_|=$"x3&"$_ ";$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x
y...c|@y.'/'.@o}@w=/\S*\w\S*/ig;$_="@w"and
s/(.{57}).{3,}\S/$1.../,$_=@d.":^I$_
$v/$a:^I@d[0..s/ +[^.]/$&/g]
",s/ +$//mg;$v=$a=a
|
| Remove the outer map, thanks to aliasing. I thought map didn't do that? | |||
| 193.21 | Andrew Savige | Fri Jun 7 01:18:01 2002 | -ap056 $s=$t=0;@n=map{$t+=($s+=@q=/\w/g,$_.=$"x(3-tr)))c),$z=pack A.y)))c,lc=~y)aeiouy)).v47.@q);$z}@F;s, $,,,s@(.{57}).{4,}@$1...@,$_=@F.":^I$_
$t/$s:^I@n[0..-1+split/[. ]+/]
",s, +$,, if$_="@F"
|
| I cannot bear to see `/anick ahead of me. This is the last shot in my locker, however, as I am all out of ideas. | |||
| 194.17 | Mtv Europe | Tue Jun 4 09:10:21 2002 | -apX056 sub B{lc=~y/aeouiy//.v47.(@Q=/\w/g)}$B=$Z=":^I";$B^=($C=($B^$Z).$B=~v47&v0 x99).B,($Z^=$C.$_)=~s/(.{59}).{4,}/$1.../&&$B=~s/\0+(??{$+[0]<59&&w}).*//for@F;$_=@F?@F."$Z
".B."$B
":'';y/\0/ /
|
| 194.20 | Eugene van der Pijll | Sat Jun 1 18:31:42 2002 | -p056 sub t{lc=~y/aeiouy//."/".s/\w/$&/g}$w=split;$b^=(($@.=$_.$")^=($b.=t.$")^$b)^$@for@_;$_=/./&&"$w:^I$@
".t.":^I$b
";y/\0/ /;$@=$b=!s/ +$//mg;s/(^.*^I.{57}).{4,}/$1.../&&s#(^I.{0,56}\S+).*\Z#$1# |
| Thank you, perlre! | |||
| 194.32 | Alexander Onokhov | Thu Jun 6 16:58:31 2002 | -ap056 ($x,@D)=map{$_.=$"x(3-length);y/aeiouyAEIOUY//."/".s/\w/$&/g}$_,@F;$_=join$",@F;s/ $//;s/(.{57}).{4,}/$1.../;$r=@F.":^I$_
$x:^I";s/\S+[ .]+/A.length$&/ge;s/\d+$/*/;$_=$r.pack($_,@D)."
"if@F |
| 194.33 | Juho Snellman | Thu Jun 6 22:58:48 2002 | -p056 @d=map{$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x
y...c|@y.'/'.@o}@w=map$_|$"x3&"$_ ",/\S*\w\S*/ig;$_="@w"and
s/(.{57}).{3,}\S/$1.../,$_=@d.":^I$_
$v/$a:^I@d[0..s/ +[^.]/$&/g]
",s/ +$//mg;$v=$a=a
|
| YES!, finally got rid of the stupid extra s/ +$//. | |||
| 195.19 | Jay Tilton | Fri Jun 7 22:38:25 2002 | -ap056 sub c{$_=lc;y/aeiouy//.'/'.s/\w//g}$s=$t=":\t";($s.=$_.$")|=($t.=c."\0")^($t|=$s^$s)for@F;$s=~s/(.{59})[^.]{3,}/$1../&&$t=~s\xab(.{58})\0.*\xab$1\xab;$_=($v=@F)?"$v$s
${\c}$t
":'';y/\0/ /;s/ +$//mg |
| Woo. One stroke shaved. Hi, Samy. :) | |||
| 195.21 | Josef Drexler | Fri Jun 7 21:39:08 2002 | -pa056 sub c($){()=/@_/gi}$v=$t=0;@Q=map{$v+=$V=c"[aeiouy]";$t+=$T=c"\\w";$_.=$"x(3- c$/);pack A.c$/,"$V/$T"}@F;s/(.{57}).{4,}(?<! )/$1.../,$#Q=c '\W\w',$_=@F.":^I$_
$v/$t:^I@Q
"if$_="@F";s/ *$//gm |
| found one more to get rid of, but that looks to be the last one :( | |||
| 195.22 | Sec | Fri Jun 7 20:26:35 2002 | -ap056 sub p{(()=/[aeiouy]/ig)."/".s/\w/$&/g}$l=p.":^I";$_=join$"x3,@F;s/(...) +/$1 /g;$l.=sprintf'%-*s ',length,p for@F;s/(.{57}).{4,}/$1.../&&$l=~s/(^I.{56}\S*).*/$1/;$_=@F.":^I$_
$l
"if@F;s/ +$//
|
| _NOW_ I know why I have a mobile phone. Silly me for not seeing this one... | |||
| 195.24 | Keith Calvert Ivey | Sun Jun 2 18:06:24 2002 | -pa056 sub c{lc=~y/aeiouy//.'/'.(()=/\w/g)}$p=c;$_=sprintf'%-3s 'x@F,@F
or next;$f=$/x3x s/(.{57})...+\S.*/$1/;$r=join'',map
A.y///c,/\S+ */g;$_=@F.":^I$_$f
$p:^I".(pack$r.9,map c,@F).'
',s/ +$//gm |
| 196.19 | Jay Tilton | Thu Jun 6 23:49:18 2002 | -ap056 sub c{$_=lc;y/aeiouy//.'/'.s/\w//g}$s=$t=":\t";($s.=$_.$")|=($t.=c.$")^($t|=$s^$s)for@F;$s=~s/(.{59})[^.]{3,}/$1../&&$t=~s/(.{58})[\0 ].*/$1/;$_=($v=@F)?"$v$s
${\c}$t
":'';y/\0/ /;s/ +$//mg |
| Small problem interpreting "An underscore is not a letter." I wonder if this one is kosher. | |||
| 196.22 | Josef Drexler | Fri Jun 7 21:12:47 2002 | -pa056 sub c($){()=/@_/gi}$v=$t=0;@Q=map{$v+=$V=c"[aeiouy]";$t+=$T=c"\\w";$_.=$"x(3- c$/);pack A.c$/,"$V/$T"}@F;s/(.{57}).{4,}(?<! )/$1.../,$#Q=c" [^. ]",$_=@F.":^I$_
$v/$t:^I@Q
"if$_="@F";s/ *$//gm |
| at this rate it'll only take 10 days to catch up with Ton... (what do you mean there are only 2 hours left??) | |||
| 196.23 | Yanick Champoux | Thu Jun 6 23:33:37 2002 | -p056 sub
t{map
y/aeiyou//.'/'.s/\w//g,lc
pop}@q=map$_.$"x(3-
y///c),split;@w=t$_="@q";s/(.{57})...+\./$1.../;$_=@q.":^I$_
@w:^I@{[map{sprintf'%-'.y///c.'s',t$_}@q[0..$#z]]}
"if@z=/\w\S*/g;s/ *$//gm |
| could... could I really have a chance to beat /-\ndrew? | |||
| 196.24 | Keith Calvert Ivey | Sun Jun 2 18:04:11 2002 | -pa056 sub c{lc=~y/aeiouy//.'/'.(()=/\w/g)}$p=c;$_=sprintf'%-3s 'x@F,@F
or next;$f=$/x3x s/(.{57})...+\S.*/$1/;$r=join'',map
A.y///c,/\S+\s*/g;$_=@F.":^I$_$f
$p:^I".(pack$r.9,map c,@F).'
',s/ +$//gm |
| 196.26 | Lolly Pop | Thu Jun 6 19:49:39 2002 | -ap056 $V=$L=0;@q=map{s/$/ /until--pos>1;$V+=$n=lc=~y#aeiouy##;$L+=$d=y#A-z0-9##;pack A.++pos,"$n/$d"}@F;s/ +$//,s/(.{57}).{4,}/$1.../,$q[$#q=@p=/ [^ .]/g]=~s/ //g,$_=@F.":^I$_
$V/$L:^I@q
"if$_="@F"
|
| lowered tiebreaker; >>1 and "A" now >1 and A. | |||
| 196.27 | Mtv Europe | Tue Jun 4 08:25:08 2002 | -apX056 sub B{y/aeouiyAEOUIY//."/".(()=/\w/g)}$B=$Z=":^I";$B^=($C=($B^$Z).$B=~"/"&v0 x99).B,($Z^=$C.$_)=~s/(.{59})....+/$1.../&&$B=~s/\0+(??{$+[0]<59&&w}).*//for@F;$_=@F?@F."$Z
".B."$B
":'';y/\0/ /
|
| 196.29 | Marko Nippula | Tue Jun 4 10:33:26 2002 | -ap056 @X=map{sprintf"%-3s",$_}@F;@G=map{sprintf"%-${\y///c}s",y/aeiouyAEIOUY//."/".s/\w/$&/g}($_="@X"),@X;s/(.{57})...+\S.*/$1.../g;$#G=split/ +\.*/;$_=($x=@X)." $_\xd6@G\xd6"if@F;s/\s+(.*?) *\xd6/:^I$1
/g |
| Finally below 200. | |||
| 197.16 | Mtv Europe | Sun Jun 2 12:24:29 2002 | -ap056 sub B{(@Q=/[aeiouy]/ig).v47.(@Q=/\w/g)}$B=$Z=':^I';$B^=($C=($Z^$B).$B=~v47&v0 x99).B,($Z^=$C.$_)=~s/(.{59}).{4,}/$1.../&&$B=~s/\0+(??{$+[0]<59&&v9}).*//for@F;$_=@F?@F."$Z
".B."$B
":$T;y/\0/ / |
| i know why i'm stuck - i forgot my rule to immediately send updates | |||
| 197.20 | Guillermo Sansovic | Wed Jun 5 14:06:49 2002 | -pa056 sub c{0+s/[aeiouy]/$&/gi.'/'.s/\w//g}@s=map{sprintf"%-3s",$_}@F;$w=c;$_="@s";s/(.{57})...+\S/$1.../;@c=map{sprintf"%-*s",length,c}@s[0..-1-/ \./+split];$_=0+@F.":^I$_\n$w:^I@c\n"if$_;s/ +$//gm
|
| 197.22 | Yanick Champoux | Thu Jun 6 23:26:49 2002 | -p056 sub
t{map
y/aeiyou//.'/'.s/\w//g,lc
pop}@q=map$_.$"x(3-
y///c),split;@w=t$_="@q";s/(.{57})...+\./$1.../;@z=/\w\S*/g;$_&&=@q.":^I$_
@w:^I@{[map{sprintf'%-'.y///c.'s',t$_}@q[0..$#z]]}
";s/ *$//gm |
| You just know you are on your last mile when you begin to fiddle with the tiebreaker score... | |||
| 197.22 | Andrew Savige | Thu Jun 6 03:29:50 2002 | -ap056 @n=map{$t+=($s+=@q=/\w/g,
$_.=$"x(3-length),
$z=pack A.y)))c,lc=~y)aeiouy)).v47.@q);
$z}@F;
s, $,,,s@(.{57}).{4,}@$1...@,$_=@F.($s=$t=":^I$_
$t/$s:^I@n[0..-1+split/[. ]+/]
"),s, +$,, if$_="@F"
|
| Broken 200 at last! Fancy not thinking of pack until Thursday. :-( | |||
| 197.23 | Prakash Kailasa | Fri Jun 7 17:43:52 2002 | -ap056 $V=$T=0;@G=map{$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g;sprintf"%-*s",y///c,"$v/$t"}map{$_.=$"until/\.$|...+/;lc}@F;$_="@F",s/(.{57})....+/$1.../;$_=@F.":^I$_
$V/$T:^I@G[0..$#H]
"if@H=/\w+/g;s/ +$// |
| finally under the magic 200, yay! | |||
| 197.25 | Rick Klement | Sat Jun 1 20:34:33 2002 | -056lap sub c{lc=~y/aeiouy//.'/'.y/a-zA-Z0-9//}$c=c;$_="@F",s/ *$/./,s/(.{57}).{4,}/$1.../&&($#c=-1+split' ',$1),$r.=@F.":^I$_
$c:^I@c
"if@c=map{c|$"x y///c}map$_.=$"x(3-length),@F}{s/ +$//mgfor$\=$r |
| 197.25 | Yanick Champoux | Thu Jun 6 23:17:37 2002 | -p056 sub
t{map
y/aeiyou//.'/'.s/\w//g,lc
pop}@q=map$_.$"x(3-
y///c),split;@w=t$_="@q";s/(.{57})...+\./$1.../;@a=/\w\S*/g;$_&&=@q.":^I$_
@w:^I@{[map{sprintf'%-'.y///c.'s',t$_}@q[0..$#a]]}
";s/ *$//gm |
| WOO*HOO*!!! Under 200! *make a spontaneous dance of victory* I might even, maybe!, come to beat Andrew this time! | |||
| 198.18 | Michael Thelen | Fri Jun 7 22:40:04 2002 | -ap056 map$$_=$Z,B..Z;$V+=@v=/[aeiouy]/ig,$T+=@t=/\w/g,$Q.=$"x($x=$P=~y///c-length$Q).$S.@v.'/'.@t,$P.=$"x-$x.$S.$_,$S=$"for@F;$_=/./&&@F.":^I$P
$V/$T:^I$Q
";s/(^I.{57}).{4,}(
.*^I.{0,56}\S+).*/$1...$2/ |
| Why didn't I find any of these strokes to shave earlier? | |||
| 198.20 | Ton Hospel | Sat Jun 1 06:12:48 2002 | -an056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@Q=map{$_.=$"x-($z=y///c-length&f);f.$"x$z}@F;$f=f;$_="@F";s/ *$//;s/(.{57}).{4,}/$1.../;/\S+\s*\./;($q="@Q")=~s/(.{$-[0]}\S+).*/$1/&&print@F.":^I$_
$f:^I$q
" |
| 198.20 | Eugene van der Pijll | Sat Jun 1 17:40:56 2002 | -p056 sub t{lc=~y/aeiouy//."/".s/\w/$&/g}$@=$b=$c;$w=split;$b^=(($@.=$_.$")^=($b.=t.$")^$b)^$@for@_;$_=/./&&"$w:^I$@
".t.":^I$b
";y/\0/ /;s/ +$//mg;s/(^.*^I.{57}).{4,}/$1.../&&s#(
.*^I.{0,56}\S+).*$#$1# |
| 198.20 | pom | Wed Jun 5 13:03:01 2002 | -ap056 $p=$V=$L=0;@C=map{$q=$p;$V+=$v=lc=~y/aeiouy//;$L+=$l=y/0-9@-z//;$p=y///c-split//,$k="$v/$l";$_=$"x-$q.$_;$"x$q.$k}@F;$_="@F";s/(.{57}).{4,}/$1.../;$#C=-1-/ \./+split;$_&&=@F.":^I$_
$V/$L:^I@C
" |
| 198.23 | Sec | Fri Jun 7 18:26:20 2002 | -ap056 sub p{(()=/[aeiouy]/ig)."/".s/\w/$&/g}$l=p.":^I";$_=join$"x3,@F;s/(...) +/$1 /g;$l.=sprintf'%-*s ',length,p for@F;$l=~s/(^I.{56}\S*).*/$1/ if s/(.{57}).{4,}/$1.../;$_=@F.":^I$_
$l
"if@F;s/ +$//;
|
| Unbeliveable. My second eye is rapidly going down the drain... ... I'm still waiting for the magic idea to race past \'anick | |||
| 198.31 | Lolly Pop | Thu Jun 6 17:01:52 2002 | -ap056 $V=$L=0;@q=map{$_.=$"until--pos>>1;$V+=$a=lc=~y#aeiouy##;$L+=$b=y#A-z0-9##;pack"A".++pos,"$a/$b"}@F;s/ +$//,s/(.{57}).{4,}/$1.../,$q[$#q=()=/ [^ .]/g]=~y/ //d,$_=@F.":^I$_
$V/$L:^I@q
"if$_="@F"
|
| first attempt | |||
| 198.32 | Amir Karger | Fri Jun 7 15:02:25 2002 | -pa056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}
$t=g;map{$_=sprintf"%-3s",$_}@F;$_="@F"||exit;s/ +$//;s/(.{57})....+/$1.../;
map{$_=pack"A".y///c,g}@F;
$_=@F.":\t$_\n$t:\t@F[0..s/ +[^.]//g]\n";
s/ +$// |
| We have algorithmage! Sub-200 and I should be able to get a good bit farther (famous last words)... | |||
| 198.33 | Alexander Onokhov | Thu Jun 6 16:58:00 2002 | -ap056 map$_=y/aeiouyAEIOUY//.'/'.s/\w/$&/g,$x=$_,@D=@F;$_=join$",map$_.$"x(3-length),@F;s/ $//;s/(.{57})....+/$1.../;$r=@F.":^I$_
$x:^I";s/\S+[ .]+/'A'.length$&/ge;s/\d+$/*/;$_=$r.pack($_,@D).'
'if@F |
| 198.34 | Juho Snellman | Thu Jun 6 22:35:28 2002 | -p056 @d=map{$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x
y...c|@y.'/'.@o}@w=map$_|$"x3&"$_ ",/\S*\w\S*/ig;$_="@w"and
s/ +$//,s/(.{57}).{4,}/$1.../,$_=@d.":^I$_
$v/$a:^I@d[0..s/ +[^.]/$&/g]
",s/ +$//;$v=$a=a |
| Oops, left a ' ' in. $" saves one more stroke. | |||
| 198.36 | Alexander Onokhov | Thu Jun 6 16:57:31 2002 | -ap056 ($x,@D)=map y/aeiouyAEIOUY//.'/'.s/\w/$&/g,$_,@F;$_=join$",map$_.$"x(3-length),@F;s/ $//;s/(.{57})....+/$1.../;$^A=@F.":^I$_
$x:^I";s/ [^ .]/ @/g;s/[^@]/</g;s/./@/;formline"$_<
",@D;$_=$^A if@F |
| 199.16 | Mtv Europe | Sat Jun 1 21:20:59 2002 | -ap056 sub B{(@Q=/[aeiouy]/ig).v47.(@Q=/\w/g)}$B=$Z=':^I';$Z^=($C=($Z^$B).$B=~v47&v0 x99).$_,$B^=$C.B for@F;$Z=~s/(.{59})....+/$1.../&&$B=~s/\0+(??{$+[0]<59&&v5}).*//;$_=@F?@F."$Z
".B."$B
":$T;y/\0/ /
|
| yesss | |||
| 199.18 | Michael Thelen | Fri Jun 7 22:34:37 2002 | -ap056 map$$_=$Z,B..Z;$V+=@v=/[aeiouy]/ig,$T+=@t=/\w/g,$Q.=$"x($x=$P=~y///c-length$Q).$S.@v.'/'.@t,$P.=$"x-$x.$S.$_,$S=$"for@F;$_=@F?@F.":^I$P
$V/$T:^I$Q
":$Z;s/(^I.{57}).{4,}(
.*^I.{0,56}\S+).*/$1...$2/ |
| I actually broke 200! This is fun again! :-) | |||
| 199.19 | Guillermo Sansovic | Wed Jun 5 12:45:32 2002 | -pa056 sub c{0+s/[aeiouy]/$&/gi.'/'.s/\w//g}$w=c;@s=map{sprintf"%-3s",$_}@F;$_="@s";s/(.{57})...+\S/$1.../;@c=map{sprintf"%-*s",length,c}@s[0..-1-/ \./+split];$_=0+@F.":\t$_\n$w:\t@c\n"if$_;s/ +$//gm |
| 199.22 | Jay Tilton | Thu Jun 6 21:55:49 2002 | -ap056 sub c{$_=lc;y/aeiouy//.'/'.y/a-z0-9//}$s=$t=":\t";($s.=$_.$")|=($t.=c.$")^($t|=$s^$s)for@F;$s=~s/(.{59})[^.]{3,}/$1../&&$t=~s/(.{58})[\0 ].*/$1/;$_=($v=@F)?"$v$s
${\c}$t
":'';y/\0/ /;s/ +$//mg |
| I'm in love with the string-building part. I need to channel an alien who can do some regex-bashing. Ow! My *other* eyeball! | |||
| 199.23 | Josef Drexler | Fri Jun 7 04:24:41 2002 | -pa056 sub c{()=/@_/gi}$v=$t=0;@Q=map{$v+=$V=c"[aeiouy]";$t+=$T=c"\\w";$_.=$"x(3- c$/);pack A.c($/),"$V/$T"}@F;s/ *$//,s/(.{57}).{4,}/$1.../,$Q[$#Q=c" [^. ]"]=~y/ //d,$_=@F.":^I$_
$v/$t:^I@Q
"if$_="@F" |
| under 200! Yay! | |||
| 199.25 | Keith Calvert Ivey | Sun Jun 2 05:10:08 2002 | -pa056 sub c{lc=~y/aeiouy//.'/'.y/A-Za-z0-9//}$p=c;$_=sprintf'%-3s 'x@F,@F;$f=$/x3x s/(.{57})...+\S.*/$1/;$t=@F.":^I$_$f
$p:^I";$r=join'',map A.y///c,/\S+\s*/gand$_=$t.(pack$r.9,map c,@F).'
',s/ +$//gm |
| 199.27 | Stephen Turner | Sat Jun 1 22:19:58 2002 | -ln00 sub b{lc=~y/aeiouy//.'/'.y/A-z0-9//}map{split;$_=sprintf('%-3s 'x$#_,@_).$_[-1];$m=b;s/(.{57})...+/$1../;@t=map{A.y///c}/[^ ]+ +(?!\.)/g;print@_.":^I$_.
$m:^I".pack"@t A*",map b,@_}/\s*([^.]+)./g
|
| Note the use of A-z instead of A-Za-z. This works because the characters between Z and a never occur in the input, according to the rules. | |||
| 199.35 | Juho Snellman | Thu Jun 6 22:26:44 2002 | -p056 @d=map{$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x
y...c|@y.'/'.@o}@w=map$_|' '&"$_ ",/\S*\w\S*/ig;$_="@w"and
s/ +$//,s/(.{57}).{4,}/$1.../,$_=@d.":^I$_
$v/$a:^I@d[0..s/ +[^.]/$&/g]
",s/ +$//;$v=$a=a
|
| Replace sprintf with more bit-twiddling. | |||
| 200.18 | Michael Thelen | Fri Jun 7 22:31:07 2002 | -ap056 $$_=$Z for B..Z;$V+=@v=/[aeiouy]/ig,$T+=@t=/\w/g,$Q.=$"x($x=$P=~y///c-length$Q).$S.@v.'/'.@t,$P.=$"x-$x.$S.$_,$S=$"for@F;$_=@F?@F.":^I$P
$V/$T:^I$Q
":$Z;s/(^I.{57}).{4,}(
.*^I.{0,56}\S+).*/$1...$2/ |
| I finally met my goal of 200! Well, okay, so my goal was to -break- 200... | |||
| 200.20 | pom | Wed Jun 5 10:47:51 2002 | -ap056 $p=$V=$L=0;@C=map{$q=$p;$V+=$v=lc=~y/aeiouy//;$L+=$l=y/0-9@-z//;$p=y///c-split//,$k="$v/$l";$_=$"x-$q.$_;$"x$q.$k}@F;$_="@F";s/(.{57}).{4,}/$1.../;$_=@F.":^I$_
$V/$L:^I@C
"if$#C=-1-/ \./+split,@F |
| 200.23 | Michiel van Leeuwen | Wed Jun 5 20:59:42 2002 | -anp056 @F=($_="@F",@F);s/\S+ /$&|"\0"x4/ge;y/\0/ /;map{$_=lc;$_=" "x y///c|y/aeiouy//."/".s/\w//g}@F;$g="@F";$g=~s/ +/:^I/;s/(.{57}).{4,}/$1.../&&$g=~s/(:.+?.{56}) +.*/$1/;$_="$#F:^I$_
$g
"if$_;s/ +$// |
| A new trick. Didn't gain me as much as I hoped... | |||
| 200.24 | Bruce Gray | Fri Jun 7 23:50:06 2002 | -na056 @n=map$s.$"x(y///c-length($s=y/aeiouy//.'/'.y/a-z0-9//)),map{$_.=$"x(3-length);lc}@F,$_;$_="@F";s/ $//;s/(.{57})....+/$1/and$#n=(split),$_.=$/x3;$#n--;$c=@F and$_="$c:^I$_
$s:^I@n
";s/ +$//;print |
| Changed the $c=@F ... print groupings | |||
| 200.30 | Martin Carlsen | Wed Jun 5 11:47:30 2002 | sub c{y/aeiouyAEIOUY//."/".y/a-zA-Z0-9//}$/='.';map{@c=map{$p=/\./?0:length(c)-length;$_.=$"x$p;c.$"x-$p}@w=split;$_="@w
".c.":^I@c";s/^(.{57})....+/$1.../&&s/(^I.{0,56}\S+).*/$1/;@w&&print@w.":^I$_
"}<> |
| 201.20 | Ton Hospel | Sat Jun 1 06:10:17 2002 | -an056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@Q=map{$_.=$"x-($z=y///c-length&f);f.$"x$z}@F;$f=f;$_="@F";s/ *$//;s/(.{57}).{4,}/$1.../;/\S+\s*\./;($q="@Q")=~s/(.{$-[0]}\S+).*/$1/;$_&&print@F.":^I$_
$f:^I$q
" |
| 201.24 | Bruce Gray | Fri Jun 7 23:35:47 2002 | -na056 $c=@F;@n=map$s.$"x(y///c-length($s=y/aeiouy//.'/'.y/a-z0-9//)),map{$_.=$"x(3-length);lc}@F,$_;$_="@F";s/ $//;s/(.{57})....+/$1/and$#n=(split),$_.=$/x3;$#n--;$_="$c:^I$_
$s:^I@n
";s/ +$//;$c&&print |
| The reorg of 'length' within map made $s match $u. Removed $u. | |||
| 201.26 | Rick Klement | Sat Jun 1 19:41:59 2002 | -056lap sub c{lc=~y/aeiouy//.'/'.y/a-zA-Z0-9//}map({s/ *$/./,pos=57,s/\G.{4,}/.../&&($#c=-1+split' ',$`)}$t="@F"),$r.=@F.":^I$t
".c.":^I@c
"if@c=map{c|$"x y///c}map$_.=$"x(3-length),@F}{s/ +$//mgfor$\=$r |
| I hope the tabs are right :) | |||
| 201.32 | Juho Snellman | Thu Jun 6 04:32:24 2002 | -p056 @d=map{$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x
y...c|@y.'/'.@o}@w=map{sprintf'%-3s',$_}/\S*\w\S*/ig;$_="@w"and
s/ +$//,s/(.{57}).{4,}/$1.../,$_=@d.":^I$_
$v/$a:^I@d[0..s/ +[^.]/$&/g]
",s/ +$//;$v=$a=a
|
| Better way to count matches (s/ +[^.]/$&/g), remove one more newline (all of the remaining ones have some sort of use). | |||
| 202.16 | Michael Thelen | Thu Jun 6 05:31:55 2002 | -ap056 $V+=@v=/[aeiouy]/ig,$T+=@t=/\w/g,$q.=$"x($x=$p=~y///c-length$q).$s.@v.'/'.@t,$p.=$"x-$x.$s.$_,$s=$"for@F;$_=@F?@F.":^I$p
$V/$T:^I$q
":$z;s/(^I.{57}).{4,}(
.*^I.{0,56}\S+).*/$1...$2/;$V=$T=$p=$q=$s=$z |
| Two more strokes off, but I've hit another wall. | |||
| 202.19 | Guillermo Sansovic | Tue Jun 4 19:40:57 2002 | -pa056 sub c{0+s/[aeiouy]/$&/gi.'/'.s/\w//g}@s=map{sprintf"%-3s",$_}@F;$w=c;if($_="@s"){s/(.{57})...+\S/$1.../;@c=map{/.*/;sprintf"%-@{+}s",c}@s[0..-1-/ \./+split];$_=0+@s.":\t$_\n$w:\t@c\n";s/ +$//gm;}
|
| 202.21 | pom | Wed Jun 5 07:28:29 2002 | -ap056 $p=$V=$L=0;@C=map{$q=$p;$V+=$v=lc=~y/aeiouy//;$L+=$l=y/0-9A-z//;$p=y///c-split//,$k="$v/$l";$_=$"x-$q.$_;$"x$q.$k}@F;$_="@F";s/(.{57}).{4,}/$1.../;$_=@F.":^I$_
$V/$L:^I@C
"if$#C=-1-/ \W+$/+split,@F |
| 202.22 | Eugene van der Pijll | Sat Jun 1 13:51:53 2002 | -p056 sub t{lc=~y/aeiouy//."/".s/\w/$&/g}$@=$b=$c;$w=split;$b^=(($@.=$_.$")^=($b.=t.$")^$b)^$@for@_;y/\0/ /,s/ +$//for$@,$b;$b=~/.{0,56}\S+/,$b=$&if$@=~s/(.{57}).{4,}/$1.../;$_=$w?"$w:^I$@
".t.":^I$b
":$c |
| 202.28 | Stephen Turner | Sat Jun 1 22:17:53 2002 | -ln00 sub b{lc=~y/aeiouy//.'/'.y/a-zA-Z0-9//}map{split;$_=sprintf('%-3s 'x$#_,@_).$_[-1];$m=b;s/(.{57})...+/$1../;@t=map{A.y///c}/[^ ]+ +(?!\.)/g;print@_.":^I$_.
$m:^I".pack"@t A*",map b,@_}/\s*([^.]+)./g
|
| 203.23 | Piers Cawley | Fri Jun 7 10:08:41 2002 | -ap056 sub b{$_=lc;y/aeiouy//."/".y/a-z0-9//}$c=$b=':^I';map{$c.=pack$l=A.(($l=y///c)>3?++$l:4),$_;$b.=pack$l,b}@F;$c=~s/(.{59})...+\S.*/$1.../&&$b=~s/(.{58}\S*).*/$1/;$_=(@F."$c
".b."$b
")x!!@F;s/ *$//mg |
| 203.23 | Josef Drexler | Thu Jun 6 23:51:45 2002 | -an056 sub c{()=/@_/gi}$v=$t=0;@Q=map{$v+=$V=c"[aeiouy]";$t+=$T=c"\\w";$_.=$"x(3- c$/);pack A.c($/),"$V/$T"}@F;s/ *$//,s/(.{57}).{4,}/$1.../,$Q[$#Q=c" [^. ]"]=~y/ //d,print~~@F,":^I$_
$v/$t:^I@Q
"if$_="@F" |
| ever closer to the 200 barrier... | |||
| 203.25 | Yanick Champoux | Thu Jun 6 23:12:27 2002 | -p056 sub
t{map
y/aeiyou//.'/'.s/\w//g,lc
pop}@q=map$_.$"x(3-
y///c),split;@w=t$_="@q";s/ +$//;s/(.{57})....+/$1.../;@a=/\w\S*/g;$_&&=@q.":^I$_
@w:^I@{[map{sprintf'%-'.y///c.'s',t$_}@q[0..$#a]]}
";s/ *$//g |
| I just *know* this can be improved (sic). But how, HOW? | |||
| 203.29 | Marko Nippula | Tue Jun 4 09:58:08 2002 | -ap056 if((@X=map{sprintf"%-3s",$_}@F),($_="@X")){@G=map{sprintf"%-".y///c."s",y/aeiouyAEIOUY//."/".s/\w/$&/g}$_,@X;s/(.{57})...+\S.*/$1.../g;$#G=split/\s+|\./;$_=($x=@X)." $_\xd6@G\xd6";s/\s+(.*?) *\xd6/:^I$1
/g} |
| 203.32 | Amir Karger | Fri Jun 7 04:15:07 2002 | -pa056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}sub l{formline"`$f
",@_}(@r=map{$f.="@"."<"x length($_|$:);g}@F)?l@F:exit;$f=~/.{57}<*/,$f=$&if$^A=~s/(.{58})....+/$1.../;$^A=@F.$^A.g;l@r;$_=$^A;s/`/:^I/g;$f=$^A="" |
| Sigh. My exciting new algorithm doesn't work. Back to the drawing board... | |||
| 203.33 | Juho Snellman | Thu Jun 6 04:11:50 2002 | -p056 @d=map{$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x
y...c|@y.'/'.@o}@w=map{sprintf'%-3s',$_}/\S*\w\S*/ig;
(s/ +$//,s/(.{57}).{4,}/$1.../,$_=@d.":^I$_
$v/$a:^I@d[0..(@_=/ +[^.]/g)]
",s/ +$//)if$_="@w";$v=$a=a
|
| -p rocks | |||
| 204.17 | Michael Thelen | Thu Jun 6 02:54:06 2002 | -ap056 $V=$T=$p=$q=$s=$Z;$V+=@v=/[aeiouy]/ig,$T+=@t=/\w/g,$q.=$"x($x=$p=~y///c-length$q).$s.@v.'/'.@t,$p.=$"x-$x.$s.$_,$s=$"for@F;$_=(@F||last).":^I$p
$V/$T:^I$q
";s/(^I.{57}).{4,}(
.*^I.{0,56}\S+).*/$1...$2/ |
| A breakthrough for 8 strokes! Clear vision is a small price to pay for such joy. I need to get rid of $V=$T=...=$Z; though. If only I could see how... | |||
| 204.22 | Prakash Kailasa | Fri Jun 7 17:27:01 2002 | -ap056 $V=$T=0;@G=map{$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g;sprintf"%-*s",y///c,"$v/$t"}map{$_=/\.$|...+/?$_:pack'A3',$_;lc}@F;$_="@F",s/(.{57})....+/$1.../;$_=@F.":^I$_
$V/$T:^I@G[0..$#H]
"if@H=/\w+/g;s/ +$// |
| 204.26 | Bruce Gray | Fri Jun 7 23:34:16 2002 | -na056 $c=@F;@n=map$s.$"x(y///c-length($s=$u=y/aeiouy//.'/'.y/a-z0-9//)),map{$_.=$"x(3-length);lc}@F,$_;$_="@F";s/ $//;s/(.{57})....+/$1/and$#n=(split),$_.=$/x3;$#n--;$_="$c:^I$_
$u:^I@n
";s/ +$//;$c&&print |
| change map block to map expr, removed space after 'map' | |||
| 204.32 | Amir Karger | Fri Jun 7 03:09:09 2002 | -pa056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}sub l{formline"`$f
",@_}(@r=map{$f.="@"."<"x length($_|$:);g}@F)?l@F:exit;$f=~/.{57}<*/,$f=$&if$^A=~s/(.{58})....+/$1.../;$^A=@F.$^A.g;l@r;$_=$^A;s/`/:^I/gm;$f=$^A="" |
| Algorithmic breakthrough? With formline?! Stay tuned. I'm not sure the paste worked, by the way. I'm seeing boxes on my IE screen that are supposed to be ctrl-A's, as in $ACCUMULATOR. And the thing before "/gm" at the end is a tab. | |||
| 205.19 | Andrew Savige | Tue Jun 4 08:05:59 2002 | -an056 @n=map{$t+=($s+=@q=/\w/g,
$_.=$"x(3-($l=y)))c)),
$z=lc=~y)aeiouy)).v47.@q);
$z,$".$"x($l-length$z)}@F;
s, $,,,s@(.{57}).{4,}@$1...@,print@F.":^I$_
$t/$s:^I",@n[0..-2+2*split/[. ]+/],$s=$t="
"if$_="@F"
|
| In tpr01, I aimed for 5 strokes from the leader; in tpr02 (won by our esteemed chief referee), I aimed for 10 strokes from the leader; in tpr03, I aimed for 20 strokes from the leader; and in tpr04 I am aiming for 40 strokes from the leader. :-( Breaking 200 is enough for me in this game (unless `/anick sneaks ahead of me, of course ;). | |||
| 205.20 | Eugene van der Pijll | Sat Jun 1 09:39:38 2002 | -p056 sub t{lc=~y/aeiouy//."/".s/\w/$&/g}$w=split;$b^=(($@.=$_.$")^=($b.=t.$")^$b)^$@for@_;y/\0/ /,s/ +$//for$@,$b;$@=~s/(.{57}).{4,}/$1.../&&$b=~s/^(.{0,56}\S+).*/$1/;$_=$w?"$w:^I$@
".t.":^I$b
":$c;$@=$b=$c |
| 205.22 | Sec | Fri Jun 7 17:00:57 2002 | -ap056 sub p{(()=/[aeiouy]/ig)."/".s/\w/$&/g}$_=join$"x3,@F;s/(...\S*) +/$1 /g;$s=p;$l="@{[map{sprintf'%-*s',length,p}@F]}";$l=~s/(.{56}\S*).*/$1/ if s/(.{57}).{4,}/$1.../;$_=@F.":^I$_
$s:^I$l
"if@F;s/ +$//;
|
| Completely new approach, My first eye pop()d half an hour ago. :) | |||
| 205.26 | Bruce Gray | Fri Jun 7 23:10:22 2002 | -na056 $c=@F;@n=map{$s.$"x(y///c-length($s=$u=y/aeiouy//.'/'.y/a-z0-9//))}map{$_.=$"x(3-length);lc}@F,$_;$_="@F";s/ $//;s/(.{57})....+/$1/and$#n=(split),$_.=$/x3;$#n--;$_="$c:^I$_
$u:^I@n
";s/ +$//;$c&&print |
| Only one extra space possible on last word in sentence, so s/ +$// becomes s/ $// | |||
| 205.36 | Alexander Onokhov | Thu Jun 6 16:57:05 2002 | -ap056 ($x,@D)=map y/aeiouyAEIOUY//.'/'.s/\w/$&/g,$_,@F;$_=join$",map$_.$"x(3-length),@F;s/ $//;s/(.{57})....+/$1.../;$_=$^A="^I$_" if@F;s/(\s)[^ .]/$1@/g;s/[^@^I]/</g;formline"
$x:$_<
",@D;$_=@F.":$^A" if@F |
| 206.19 | Guillermo Sansovic | Tue Jun 4 19:15:04 2002 | -pa056 sub c{0+s/[aeiouy]/$&/gi.'/'.s/\w//g}@s=map{sprintf("%-3s",$_)}@F;$w=c;if($_="@s"){s/(.{57})...+\S/$1.../;@c=map{/.*/;sprintf("%-@{+}s",c)}@s[0..-1-/ \./+split];$_=0+@s.":\t$_\n$w:\t@c\n";s/ +$//gm;}
|
| 206.21 | Michiel van Leeuwen | Wed Jun 5 19:10:03 2002 | -anp056 $p=$q=0;$_="@F";map{$_=lc;$p+=$c=y/aeiouy//;$q+=$d=s/\w/ /g;y// /c;$_|="$c/$d"}@F;$g="@F";s/\S+ /$&|"\0"x4/ge;y/\0/ /;s/(.{57}).{4,}/$1.../&&$g=~s/(.{56}) +.*/$1/;$_=@F.":^I$_
$p/$q:^I$g
"if$q;s/ +$// |
| 206.26 | Yanick Champoux | Thu Jun 6 15:09:40 2002 | -p056 sub
t{map
y/aeiyou//.'/'.s/\w//g,lc
pop}@q=map$_.$"x(3-
y///c),split;@w=t$_="@q";s/ +$//;s/(.{57})....+/$1.../;@a=/\w\S*/g;"@{[map{sprintf'%-'.y///c.'s',t$_}@q[0..$#a]]}"=~/ *$/;$_&&=@q.":^I$_
@w:^I$`
" |
| Hoping that the copy'n'paste will work, this time... | |||
| 206.26 | Keith Calvert Ivey | Sun Jun 2 00:33:31 2002 | -pa056 sub c{lc=~y/aeiouy//.'/'.y/A-Za-z0-9//}$_.=$"x(3-length)for@F;$p=c;$_="@F";$f=$/x3x s/(.{57})...+\S.*/$1/;$t=@F.":^I$_$f
$p:^I";$r=join'',map A.y///c,/\S+\s*/gand$_=$t.(pack$r.9,map c,@F).'
',s/ +$//gm |
| 206.26 | Bruce Gray | Fri Jun 7 22:47:46 2002 | -na056 $c=@F;@n=map{$s.$"x(y///c-length($s=$u=y/aeiouy//.'/'.y/a-z0-9//))}map{$_.=$"x(3-length);lc}@F,$_;$_="@F";s/ +$//;s/(.{57})....+/$1/and$#n=(split),$_.=$/x3;$#n--;$_="$c:^I$_
$u:^I@n
";s/ +$//;$c&&print |
| Combined length($s) with the calculation of $s. Removed ;; | |||
| 206.30 | Amir Karger | Fri Jun 7 02:47:23 2002 | -pa056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}sub p{sprintf"%-*s",(1+length($_|$:))*!/\./,@_}$x=$"="";(map{$x.=p$_;$_=p g}@F)?$x=~s/(.{57})....+/$1.../:exit;$_=@F.":^I$x
".g.":^I@F[0..$x=~s/ +[^.]//g]
";s/ +$// |
| I guess it's cheating that I've held back my s/\n/ /g etc. but it made my program much easier to develop, and I knew most of those changes weren't going to get me too far in the long run. | |||
| 207.25 | Chris Dolan | Fri Jun 7 12:39:50 2002 | -056pa @v=map{$V+=$v=y/aeiouyAEIOUY//."/".(@n=/\w/g);$N+=@n;$v.$"x(length($_.=$"x(3-length))-length$v)}@F;$_="@F";s/ *$//;s/(.{57})....+/$1.../;$#v=s/\w+/$&/g-1;$_=/\./&&@F.":^I$_
$V/$N:^I@v
";$V=$N=!s/\s+$/
/ |
| A little better | |||
| 207.32 | Piers Cawley | Fri Jun 7 09:47:57 2002 | -an056 sub a{$_=lc;y/aeiouy//."/".y/a-z0-9//}$a=$b=':^I';for(@F){$a.=pack$l=A.(($l=y///c)>3?++$l:4),$_;$b.=pack$l,a}$a=~s/(.{59})...+\S.*/$1.../&&$b=~s/(.{58}\S*).*/$1/;$_=@F."$a
".a."$b
";s/ *$//mg;@F&&print
|
| Oops. this time fer sure. | |||
| 207.32 | Piers Cawley | Fri Jun 7 09:47:58 2002 | -an056 sub a{$_=lc;y/aeiouy//."/".y/a-z0-9//}$a=$b=':^I';for(@F){$a.=pack$l=A.(($l=y///c)>3?++$l:4),$_;$b.=pack$l,a}$a=~s/(.{59})...+\S.*/$1.../&&$b=~s/(.{58}\S*).*/$1/;$_=@F."$a
".a."$b
";s/ *$//mg;@F&&print
|
| Oops. this time fer sure. | |||
| 208.20 | Andrew Savige | Tue Jun 4 07:03:59 2002 | -an056 @n=map{$t+=($s+=$c=s)\w)$&)g,
$_.=$"x(3-($l=y)))c)),
$z=lc=~y)aeiouy))."/$c");
$z,$".$"x($l-length$z)}@F;
s, $,,,s@(.{57}).{4,}@$1...@,print@F.":^I$_
$t/$s:^I",@n[0..-2+2*split/[. ]+/],$s=$t="
"if$_="@F"
|
| Most pornographic books are cleaner than this program. I can see a dieting `/anick looming in my rear-view mirror and I am quaking with fear. | |||
| 208.21 | Benoît Chauvet | Thu Jun 6 08:36:38 2002 | -n056a sub p{@{[/[ouyaie]/gi]}."/".s/\w/$&/g}@v=map{57>shift@z||$z<62and$"x length|p}grep{/\./ or$_|="\0 ";push@z,$z++;$z+=length}@F;$p=p$_="@F";s/(.{57})....+/$1.../;$_=@F.":^I$_
$p:^I@v
";s/ +$//;$z&&=!print |
| Got you, Yannick ! ;) | |||
| 208.23 | Keith Calvert Ivey | Sat Jun 1 21:24:46 2002 | -pa056 sub c{lc=~y/aeiouy//.'/'.y/A-Za-z0-9//}$_.=$"x(3-length)for@F;$p=c;$_="@F";$f=$/x3x s/(.{57})...+\S.*/$1/;$t=@F.":^I$_$f
$p:^I";s/\S+ */'%-'.(length$&).'s'/geand($_=$t.(sprintf$_,map c,@F).'
'),s/ +$//gm |
| 208.26 | Bruce Gray | Fri Jun 7 22:30:27 2002 | -na056 $c=@F;@n=map{$s=$u=y/aeiouy//.'/'.y/a-z0-9//;$s.$"x(y///c-length$s)}map{$_.=$"x(3-length);lc}@F,$_;$_="@F";s/ +$//;;s/(.{57})....+/$1/and$#n=(split),$_.=$/x3;$#n--;$_="$c:^I$_
$u:^I@n
";s/ +$//;$c&&print |
| Saved 5 strokes by moving @n adjustments from a 'for@n' loop to map side-effects. | |||
| 209.16 | Mtv Europe | Sat Jun 1 20:32:15 2002 | -ap056 sub B{(@Q=/[aeiouy]/ig).v47.(@Q=/\w/g)}$B=$Z=':^I';$Z^=($C=($Z^$B).$B=~/\//&v0 x99).$_,$B^=$C.B for@F;pos$B=59;$Z=~s/(.{59})....+/$1.../&&$B=~s/\0+\G.*|\G([^\0]+).*/$1/;$_=@F?@F."$Z
".B."$B
":'';s/\0/ /g |
| and finally i've reach the place where Ton starts | |||
| 209.32 | Juho Snellman | Thu Jun 6 03:59:41 2002 | -n056 @d=map{$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x
y...c|@y.'/'.@o}@w=map{sprintf'%-3s',$_}/\S*\w\S*/ig;
(s/ +$//,s/(.{57}).{4,}/$1.../,$_=@d.":^I$_
$v/$a:^I@d[0..(@_=/ +[^.]/g)]
",s/ +$//,print)if$_="@w";$v=$a=a
|
| Now passes the 1.04 tests. Also reorganized the conditional, and changed a \s into a space. | |||
| 210.22 | Keith Calvert Ivey | Sat Jun 1 18:55:57 2002 | -pa056 sub c{lc=~y/aeiouy//.'/'.y/A-Za-z0-9//}$_.=$"x(3-length)for@F;$p=c;$_="@F";$f=$/x3x s/(.{57})...+\S.*/$1/;$t=@F.":^I$_$f
$p:^I";s/\S+ */'%-'.(length$&).'s'/ge;$t.=sprintf$_,map c,@F;$_="$t
"x!!@F;s/ +$//gm |
| 211.16 | Mtv Europe | Sat Jun 1 20:23:58 2002 | -ap056 sub B{(@Q=/[aeiouy]/ig).v47.(@Q=/\w/g)}$B=$Z=':^I';$Z^=($C=($Z^$B).($B=~/\//)&v0 x99).$_,$B^=$C.B for@F;pos$B=59;$Z=~s/(.{59})....+/$1.../&&$B=~s/\0+\G.*|\G([^\0]+).*/$1/;$_=@F?@F."$Z
".B."$B
":'';s/\0/ /g |
| 211.21 | Michiel van Leeuwen | Tue Jun 4 22:09:49 2002 | -anp056 $p=$q=0;$_="@F";map{$_=lc;$p+=$c=y/aeiouy//;$q+=$d=s/\w/ /g;y// /c;$_|="$c/$d"}@F;$g="@F";s/\S+ /$&|"\0"x4/ge;y/\0/ /;s/(.{57}).{4,}/$1.../&&$g=~s/(.{56}) +.*/$1/;$g=~s/ +$//;$_=@F.":^I$_
$p/$q:^I$g
"if/./ |
| Slowly getting better now. | |||
| 211.25 | Chris Dolan | Thu Jun 6 08:58:22 2002 | -056pa @v=map{$V+=$v=y/aeiouyAEIOUY//."/".(@n=/\w/g);$N+=@n;$v.$"x(length($_.=$"x(3-length))-length$v)}@F;$_="@F";s/ *$//;s/(.{57})....+/$1.../&&($#v=@x=/\w\S+/g)--;$_=/\./&&@F.":^I$_
$V/$N:^I@v
";$V=$N=!s/\s+$/
/ |
| Passed `/anick! Yippee! | |||
| 212.17 | Michael Thelen | Thu Jun 6 01:46:51 2002 | -ap056 $V=$T=$p=$q=$s=$Z;$V+=@v=/[aeiouy]/ig,$T+=@t=/\w/g,$q.=$"x($x=$p=~y///c-length$q).$s.@v.'/'.@t,$p.=$"x-$x.$s.$_,$s=$"for@F;$p=~s/(.{57}).{4,}/$1.../and($q)=$q=~/.{0,56}\S+/g;$_=(@F||last).":^I$p
$V/$T:^I$q
" |
| Removed unnecessary duplication of @F. My brain hurts! I've hit a wall. | |||
| 212.20 | Josef Drexler | Thu Jun 6 22:22:52 2002 | -an056 sub c{()=/@_/gi}$v=$t=0;@Q=map{$v+=$V=c"[aeiouy]";$t+=$T=c"\\w";$_.=$"x(3- c$/);sprintf"%-*s",~~c($/),"$V/$T"}@F;s/ *$//,s/(.{57}).{4,}/$1.../,$Q[$#Q=c" [^. ]"]=~y/ //d,print~~@F,":^I$_
$v/$t:^I@Q
"if$_="@F" |
| 212.22 | Keith Calvert Ivey | Sat Jun 1 17:24:33 2002 | -pa056 sub c{lc=~y/aeiouy//.'/'.y/A-Za-z0-9//}$_.=$"x(3-length)for@F;$s="@F";$f=$/x($s=~s/(.{57})...+\S.*/$1/*3);$t=@F.":^I$s$f
".c.":^I";for(@F){$s=~/\S+/g||last;$t.=c.$"x(1+y///c-length c)}$_="$t
"x!!@F;s/ +$//gm |
| 212.22 | pom | Mon Jun 3 14:18:31 2002 | -n056 $p=$V=$L=my@C;$_=join$",map{$q=$p;$V+=$v=lc=~y/aeiouy//;$L+=$l=y/0-9A-z//;$p=y///c-length($k="$v/$l");push@C,$"x$q.$k;$"x-$q.$_}split;s/(.{57})....+/$1.../;@C&&print@C.":^I$_
$V/$L:^I@C[0..-1-/ \W+$/+split]
" |
| 212.24 | Yanick Champoux | Wed Jun 5 03:11:38 2002 | -p056 sub
t{map
y/aeiyou//.'/'.s/\w//g,lc
pop}@q=map$_.$"x(3-
y///c),split;@w=t$_="@q";s/ +$//,s/(.{57})....+/$1.../,$x=@a=/\w\S*/g;"@{[map{sprintf'%-'.y///c.'s',t$_}@q]}"=~/(.*?\/\d+){$x}/;$_&&=@q.":^I$_
@w:^I$&
" |
| You watch a movie about giant killing spiders, you go to bed, and hop! you think of an easy way to shave two more strokes. | |||
| 212.26 | Keith Calvert Ivey | Sat Jun 1 21:15:08 2002 | -pa056 sub c{lc=~y/aeiouy//.'/'.y/A-Za-z0-9//}$_.=$"x(3-length)for@F;$p=c;$_="@F";$f=$/x3x s/(.{57})...+\S.*/$1/;$t=@F.":^I$_$f
$p:^I";s/(^| )\S/$1@/g;y/@/</c&&do{formline"$_<<<<
",map c,@F;($_,$^A)=$t.$^A;s/ +$//gm} |
| It's not quite as short as my current best, but I thought it was interesting to use formats, which I've never done before. (The weird characters are control-A's.) | |||
| 212.27 | Bret Victor | Wed Jun 5 02:57:47 2002 | -an056 reset"V-Z";@Z=map{$V+=$v=y/aeiouyAEIOUY//;$W+=$l=s/[^\W_]/$&/g;$_.=' 'x(3-length)if++$X<@F;y///c,"$v/$l"}@F;$_="@F";s/(.{57})....+/$1.../;$Z.="%-*s "for/ [^ .]/g;@F&&printf"%s$Z%n%s
","$X:\t$_
$V/$W:\t",@Z |
| 212.31 | Juho Snellman | Thu Jun 6 03:22:02 2002 | -n056 if(@d=map{$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x y...c|@y.'/'.@o}
@w=map{sprintf"%-3s",$_}/\S*\w\S*/ig){$_="@w";s/ +$//;s/(.{57}).{4,}/$1.../;
$_=@d.":^I$_
$v/$a:^I@d[0..(@_=/\s+[^.]/g)]
";s/ +$//;print}$v=$a=a |
| Better accumulator ($v, $a) initialization, hard tabs. | |||
| 213.15 | Mtv Europe | Sat Jun 1 20:19:03 2002 | -ap056 sub B{(@Q=/[aeiouy]/ig).v47.(@Q=/\w/g)}$B=$Z=v58;$Z^=($C=($Z^$B).b&v0 x99).$_,$B^=$C.B for@F;s/\0/ /g,s/ /^I/for$B,$Z;pos$B=59;$Z=~s/(.{59})....+/$1.../&&$B=~s/\s+\G.*|\G(\S+).*/$1/;$_=@F?@F."$Z
".B."$B
":'' |
| 213.17 | Michael Thelen | Wed Jun 5 17:59:31 2002 | -ap056 @F||last;$V=$T=$p=$q=$s='';$V+=@v=/[aeiouy]/ig,$T+=@t=/\w/g,$q.=$"x($x=$p=~y///c-length$q).$s.@v.'/'.@t,$p.=$"x-$x.$s.$_,$s=$"for@F;$p=~s/(.{57}).{4,}/$1.../and($q)=$q=~/.{0,56}\S+/g;$_=@F.":^I$p
$V/$T:^I$q
" |
| Escaping a '/' character in a double-quoted string. Sheesh! Must have been left over from a regex try. | |||
| 213.25 | Stephen Turner | Sat Jun 1 20:11:32 2002 | -lX00 sub b{lc=~y/aeiouy//.'/'.y/a-zA-Z0-9//}map{@r=/\S+/g;$_=sprintf('%-3s 'x$#r,@r).$r[-1];$m=b;s/(.{57})...+/$1../;@t=map{A.length}/[^ ]+ +(?!\.)/g;print@r.":^I$_.
$m:^I".pack"@t A*",map b,@r}map/\s*([^.]+)./g,<>
|
| 213.25 | Bruce Gray | Fri Jun 7 22:14:26 2002 | -na056 $c=@F;$_.=$"x(3-length)for@F[0..@F-2];@n=map{$s=$u=y/aeiouy//.'/'.y/a-z0-9//;$s.$"x(y///c-length$s)}map lc,@F,$_;$_="@F";s/(.{57})....+/$1/and$#n=(split),$_.=$/x3;$#n--;$_="$c:^I$_
$u:^I@n
";s/ +$//;$c&&print |
| Removed = from the final statement in the map block. | |||
| 213.33 | Piers Cawley | Fri Jun 7 09:04:54 2002 | -an056 sub a{$_=lc;y/aeiouy//."/".y/a-z0-9//}$a=$b=':^I';for(@F){$l=($l=y///c)>3?++$l:4;$a.=pack"A$l",$_;$b.=pack"A$l",a}$a=~s/(.{59})...+\S.*/$1.../&&$b=~s/(.{58}\S*).*/$1/;$_=+@F."$a
".a."$b
";s/ *$//mg;@F&&print |
| There's obviously a better way. But what? | |||
| 214.17 | Michael Thelen | Wed Jun 5 06:17:18 2002 | -ap056 @F||last;$V=$T=$p=$q=$s='';$V+=@v=/[aeiouy]/ig,$T+=@t=/\w/g,$q.=$"x($x=$p=~y///c-length$q).$s.@v.'/'.@t,$p.=$"x-$x.$s.$_,$s=$"for@F;$p=~s/(.{57}).{4,}/$1.../and($q)=$q=~/.{0,56}\S+/g;$_=@F.":^I$p
$V\/$T:^I$q
" |
| Tried a new algorithm that hasn't panned out so far, then came back to this old standby. More stroke shaving, nothing spectacular. Yet. :-) | |||
| 214.21 | seano | Thu Jun 6 01:22:02 2002 | $/=$*;map{($g,@v,$n)=map{map y/aeiouy//.'/'.s/\w//g,lc}$_,/\S+/g;s/\s*(\S+)\s+/"$1 "|"\0 "/eg;s/(.{57}).{3,}/$1../;$x=$_;s/[^ .]+ */$v[$n++]|$"x length$&/eg;s/\D*$//;@v&&print@v.":\t$x.\n$g:\t$`\n"}split/\.\W/,<>
|
| a few more (or less)... | |||
| 214.24 | Rick Klement | Sat Jun 1 16:04:44 2002 | -0p sub c{lc=~y/aeiouy//.'/'.y/a-zA-Z0-9//}map{$n=split;@c=map{c|$"x y///c}map$_.=$"x(3-length),@_;s/ *$/./,s/(.{57}).{4,}/$1.../&&($#c=-1+split' ',$1)for$t="@_";$\.="$n:^I$t
".c.":^I@c
"}/(\S.*?)\./sg}{$\=~s/ +$//mg |
| more tabbing practice :) | |||
| 214.24 | Yanick Champoux | Tue Jun 4 23:40:48 2002 | -p056 sub
t{map
y/aeiyou//.'/'.s/\w//g,lc
pop}@q=map$_.$"x(3-
y///c),split;@w=t$_="@q";s/ +$//,s/(.{57})....+/$1.../,$x=@a=/\w\S*/g;"@{[map{sprintf'%-'.y///c.'s',t$_}@q]}"=~/( *\d+\/\d+){$x}/;$_&&=@q.":^I$_
@w:^I$&
" |
| Okay, enough for tonight. | |||
| 214.25 | Bruce Gray | Fri Jun 7 01:08:11 2002 | -na056 $c=@F;$_.=$"x(3-length)for@F[0..@F-2];@n=map{$s=$u=y/aeiouy//.'/'.y/a-z0-9//;$s.=$"x(y///c-length$s)}map lc,@F,$_;$_="@F";s/(.{57})....+/$1/and$#n=(split),$_.=$/x3;$#n--;$_="$c:^I$_
$u:^I@n
";s/ +$//;$c&&print |
| 215.16 | Mtv Europe | Sat Jun 1 20:00:39 2002 | -ap056 sub B{(@Q=/[aeiouy]/ig).v47.(@Q=/\w/g)}$B=$Z=':^I';$Z^=v0 x(($C=length($Z^$B))+=$C>2).$_,$B^=v0 x$C.B for@F;pos$B=59;$Z=~s/(.{59})....+/$1.../&&$B=~s/\0+\G.*|\G([^\0]+).*/$1/;$_=@F?@F."$Z
".B."$B
":'';s/\0/ /g |
| looks like i think better after i post solution, sorry referees | |||
| 215.19 | Andrew Savige | Tue Jun 4 02:21:53 2002 | -ap056 $t=$s=$g=v9;
@n=map{$t+=$v=lc=~y;aeiouy;;;$s+=$c=s;\w;$&;g;
$_.=$"x(3-($l=y)))c));
$g.($z="$v/$c").""x($g=$"x($l-length$z))}@F;
s, $,,,s,(.{57})....+,$1...,,$_=@F.":^I$_
$t/$s:@n[0..-1+split/[. ]+/]
"if$_="@F"
|
| Stephen Turner is right; even the tiniest of hints can make a vast difference in a golf game. Three nano-seconds after Amir asked for the underscore clarification, I changed [^_\W] to \w, saving 4 strokes. Thanks Amir! :) I did (and still do) plan to study the rules with a fine-tooth comb tonight, so I probably would have found this one anyway at that time. | |||
| 215.21 | Keith Calvert Ivey | Sat Jun 1 16:54:05 2002 | -pa056 sub c{lc=~y/aeiouy//.'/'.y/A-Za-z0-9//}$p=c;$_.=$"x(3-length)for@F;($s,$t)="@F";$f=$/x($s=~s/(.{57})...+\S.*/$1/*3);for(@F){$s=~/\S+/g||last;$t.=c.$"x(1+y///c-length c)}$_=(@F.":^I$s$f
$p:^I$t
")x!!@F;s/ +$//gm |
| 215.22 | pom | Mon Jun 3 13:33:14 2002 | -n056 $p=$V=$L=my@C;$_=join$",map{$q=$p;$V+=$v=lc=~y/aeiouy//;$L+=$l=y/0-9A-z//;$p=y///c-length($k="$v/$l");push@C,$"x$q.$k;$"x-$q.$_}@s=split;s/(.{57})....+/$1.../;@s&&print@s.":^I$_
$V/$L:^I@C[0..-1-/ \W+$/+split]
" |
| 215.24 | David Lowe | Thu Jun 6 17:03:34 2002 | -na sub
g{y///c}sub
f{lc=~y#aeiouy##.'/'.y# -/:-@##c}map{$m=/\./?0:g>3?g:3;push@{--$|},$_.$"x($m-
g)for$_,f;if(/\./){$_="@1";$_=@0.":\t$_
".f.":\t@0
";@0=@1=();s/(\t.{57})....+(\n.+\t.{0,56}\S+).*/$1...$2/;print}}@F |
| .02 | |||
| 215.26 | David Lowe | Thu Jun 6 16:46:33 2002 | -na sub
f{lc=~y#aeiouy##.'/'.y# -/:-@##c}map{$m=/\./?0:y###c>3?y###c:3;push@{--$|},$_.$"x($m- y###c)for$_,f;if(/\./){$_="@1";$_=@0.":\t$_
".f.":\t@0
";@0=@1=();s/(\t.{57})....+(\n.+\t.{0,56}\S+).*/$1...$2/;print}}@F |
| 215.28 | Amir Karger | Thu Jun 6 04:46:46 2002 | -pa056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}
sub p{sprintf"%-*s",(1+length($_|$:))*!/\./,@_}
$x=$"="";
(map{$x.=p$_;$_=p g}@F)?$x=~s/(.{57})....+/$1.../:exit;
$_=@F.":\t$x\n".g.":\t@F[0..$x=~s/ +[^.]//g]\n";
s/ +$// |
| Argh! Figured out I could edit the first line to get the second line, and I was sure that it would get me ten characters. But it's stuck at 237 now. Which puts me in eye-popping single-character territory. | |||
| 216.26 | Chris Dolan | Thu Jun 6 08:31:24 2002 | -056na @v=map{$V+=$v=y/aeiouyAEIOUY//."/".(@n=/\w/g);$N+=@n;$v.$"x(length($_.=$"x(3-length))-length$v)}@F;$_="@F";s/ *$//;s/(.{57})....+/$1.../&&($#v=@x=/\w\S+/g)--;$_=@F.":^I$_
$V/$N:^I@v";s/ *$/
/;$V=$N=!print if/\./ |
| Minor improvement | |||
| 217.20 | Guillermo Sansovic | Tue Jun 4 18:50:21 2002 | -na056 sub c{0+s/[aeiouy]/$&/gi.'/'.s/\w//g}sub p{s/ +$//;print"@_:\t$_\n"}@s=map{sprintf("%-3s",$_)}@F;$w=c;if($_="@s"){s/(.{57})...+\S/$1.../;@c=map{/.*/;sprintf("%-@{+}s",c)}@s[0..-1-/ \./+split];p~~@s;$_="@c";p$w}
|
| 217.21 | Jay Tilton | Thu Jun 6 03:23:19 2002 | -ap056 sub c{$_=lc;y/aeiouy//.'/'.y/a-z0-9//}my($w,$x);($d=length($w.=$_.$")-length($x.=c.$"))>0?$x:$w.=$"x abs$d for@F;$w=~s/(.{57})..[^.]..+/$1.../&&$x=~s/(.{56}) .*/$1/;$_=($v=@F)?"$v:\t$w
${\c}:\t$x
":'';s/ +$//mg |
| I don't hate this hole as much as I did this afternoon. I think it's time for a whole new approach, as not much more can be wrung out of this one. | |||
| 217.22 | Mtv Europe | Sat Jun 1 17:57:54 2002 | -ap056 sub B{1*s/[aeiouy]/$&/ig.'/'.1*s/\w/$&/g}$B=$A=':^I';$A^=v0 x(($C=length($A^$B))+=$C>2).$_,$B^=v0 x$C.B for@F;pos$B=59;$A=~s/(.{59})....+/$1.../&&$B=~s/\0+\G.*|\G([^\0]+).*/$1/;$_=@F?@F."$A
".B."$B
":'';s/\0/ /g |
| 217.22 | Prakash Kailasa | Thu Jun 6 23:25:41 2002 | -lan056 $_="@F",s/(.{57})...+/$1../,@_=/\w+/g,$_="$n:^I$_.
$V/$T:^I@G[0..$#_]",s/ +$//,print if$T=0,$V=$n=@F,@G=map{$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g;sprintf"%-*s",y///c,"$v/$t"}map{$_=!--$V|/...+/?$_:pack'A3',$_;lc}@F |
| 217.23 | seano | Thu Jun 6 01:07:40 2002 | $/=$*;map{($g,@v,$n)=map{map y/aeiouy//.'/'.y/a-z0-9//,lc}$_,/\S+/g;s/\s*(\S+)\s+/"$1 "|"\0 "/eg;s/(.{57}).{3,}/$1../;$x=$_;s/[^ .]+ */$v[$n++]|$"x length$&/eg;s/\D*$//;@v&&print@v.":\t$x.\n$g:\t$`\n"}split/\.\W/,<>
|
| Alright. Back to the tweaking game. Luckily the tests aren't completely thorough... | |||
| 217.25 | Yanick Champoux | Tue Jun 4 22:37:11 2002 | -p056 sub
t{map
y/aeiyou//.'/'.(@a=/\w/g),lc
pop}@q=map$_.$"x(3-
y///c),split;@w=t$_="@q";s/ +$//,s/(.{57})....+/$1.../,$x=@a=/\w\S*/g;"@{[map{sprintf'%-'.y///c.'s',t$_}@q]}"=~/( *\d+\/\d+){$x}/;$_&&=@q.":^I$_
@w:^I$&
" |
| yes. hurt me more. | |||
| 217.25 | Chris Dolan | Thu Jun 6 08:12:27 2002 | -056na @v=map{$V+=$v=y/aeiouyAEIOUY//."/".(@n=/\w/g);$N+=@n;$v.$"x(length($_.=$"x(3-length))-length$v)}@F;$_="@F";s/ *$//;s/(.{57})....+/$1.../&&($#v=s/\w\S+/$&/g-1);$_=@F.":^I$_
$V/$N:^I@v";s/ *$/
/;$V=$N=!print if/\./ |
| Ahh, remembered to remove the \t's this time... :-) | |||
| 217.25 | Bruce Gray | Fri Jun 7 00:58:50 2002 | -na056 $c=@F;$_.=$"x(3-length)for@F[0..@F-2];@n=map{$s=$u=y/aeiouy//.'/'.y/a-z0-9//;$s.=$"x(y///c-length$s)}map lc,@F,$_;$_="@F";s/(.{57})....+/$1/and$#n=(split)-1,$_.=$/x3or$#n--;$_="$c:^I$_
$u:^I@n
";s/ +$//;$c&&print |
| formline was a red herring, switching to s///&&chained_code. | |||
| 217.28 | Amir Karger | Wed Jun 5 12:31:39 2002 | -pa056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}
sub p{sprintf"%-*s",(1+length($_|$:))*!/\.$/,pop}
$x=$"="";
(map{$x.=p$_;$_=p g}@F)?$x=~s/(.{57})....+/$1.../:exit;
$_=@F.":\t$x\n".g.":\t@F[0..$x=~s/ +[^.]//g]\n";
s/ +$// |
| Hooray for string bit or! | |||
| 217.31 | Juho Snellman | Thu Jun 6 03:09:12 2002 | -n056 ($v,$a)=a;if(@d=map{$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x y...c|@y."/".@o}
@w=map{sprintf"%-3s",$_}/\S*\w\S*/ig){$_="@w";s/ +$//;s/(.{57}).{4,}/$1.../;
$_=@d.":\t$_
$v/$a:\t@d[0..(@_=/\s+[^.]/g)]
";s/ +$//;print} |
| FORE! Should be a decent enough first attempt. Tie-breakers completely unoptimized. Could save a few strokes with literal tabs, but I'll save that for later. | |||
| 218.21 | Keith Calvert Ivey | Sat Jun 1 15:56:51 2002 | -pa056 sub c{lc=~y/aeiouy//.'/'.y/A-Za-z0-9//}$p=c;$_.=$"x(3-length)for@F;($s,$t)="@F";$f=$/x($s=~s/(.{57})...+\S.*/$1/*3);for(@F){$s=~/\S+/g||last;$t.=c.$"x(1+y///c-length c)}$_=@F.":^I$s$f
$p:^I$t
";s/ +$//gm;$_ x=!!@F |
| 219.18 | Qingning Huo | Fri Jun 7 21:57:45 2002 | -n056 $x=$z=$v=$l="";$x=~s/(.{57}).{4,}/$1.../&&$z=~s/ *(?<=.{56}) +.+//,print"$w:^I$x
$v/$l:^I$z
"if$w=map{$z.=$".$"x($0=$x=~y///c-length$z),$x.=$".$"x-$0if$x;$v+=$V=lc=~y/aeiouy//;$x.=$_;$l+=$L=s/\w//g;$z.="$V/$L"}split |
| 219.20 | Benoît Chauvet | Wed Jun 5 21:32:22 2002 | -n056a sub p{@{[/[ouyaie]/gi]}."/".s/\w/$&/g}@v=map{57>shift@z||$z<62and$"x length|p}grep{$_.=!/\./&&$"x(2-/../-/.../);push@z,$z++;$z+=length}@F;$p=p$_=":^I@F";s/(.{59})....+/$1.../;$_=@F."$_
$p:^I@v
";s/ +$//;$z&&=!print |
| Toooooooo far away from my enemy.. :( | |||
| 219.20 | jacoph | Fri Jun 7 04:31:30 2002 | -n0 map{$n=0;@w=map{sprintf"%-3s",$_}split;$_="@w";s/ *$/./;s/(?<=.{57}).{4,}/.../;@w&&printf@w.":^I$_
%*s:^I"."%-*s"x($q=grep/[^.]/,split)."
",map{!$n++||!--$q||1+length,(@x=/[aeiouy]/ig).'/'.s/\w//g}"@w",@w}split/\.\s+/ |
| 220.17 | Honza Pazdziora | Fri Jun 7 13:22:44 2002 | -056n sub d{lc=~y!aeiouy!!.'/'.s!\w!$&!g}@w=/\S+/g;$"=' 'x60;$_="@w
@{[d]}:^I@{[map{d}@w]}";for$x(0..80){$h=".{$x}) +(.*)";s/^($h(
.*^I$h/$1 $2$3 $4/}s/^(.{57}).{4,}(
.*^I.{56,}? )?.*/$1...$2/;s/\s*$//;print@w+0,":^I$_
"if@w |
| 220.18 | Qingning Huo | Fri Jun 7 21:40:07 2002 | -n056 $x=$z=$v=$l="";$x=~s/(.{57}).{4,}/$1.../&&$z=~s/ *(?<=.{56}) +.+//,print"$w:^I$x
$v/$l:^I$z
"if$w=map{$0=$x=~y///c-length$z,$z.=$".$"x$0,$x.=$".$"x-$0if$x;$v+=$V=lc=~y/aeiouy//;$x.=$_;$l+=$L=s/\w//g;$z.="$V/$L"}split |
| 220.20 | Benoît Chauvet | Wed Jun 5 08:19:56 2002 | -n056a sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map{57>shift@z||$z<62and$"x length|p}grep{$_.=!/\./&&$"x(2-/../-/.../);push@z,$z++;$z+=length}@F;$p=p$_="@F";s/(.{57})....+/$1.../;$_=@F.":^I$_
$p:^I@v
";s/ +$//;$z&&=!print |
| 220.21 | Prakash Kailasa | Thu Jun 6 18:44:15 2002 | -lan056 $_="@F",s/(.{57})...+/$1../,@_=/\w+/g,$_="$n:^I$_.
$V/$T:^I@G[0..$#_]",s/ +$//,print if$V=$T=0,$m=$n=@F,@G=map{$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g;sprintf"%-*s",y///c,"$v/$t"}map{$_=!--$m|/...+/?$_:pack'A3',$_;lc}@F |
| yet another little break. still hoping for the big one. | |||
| 220.23 | seano | Thu Jun 6 00:46:32 2002 | $/=$*;map{($g,@v,$n)=map{map y/aeiouy//.'/'.y/a-z0-9//,lc}$_,/\S+/g;s/\s*?(\S+)\s+/"$1 "|"\0 "/eg;s/(.{57}).{3,}/$1../;$x=$_;s/[^ .]+ */$v[$n++]|$"x length$&/eg;s/[. ]*$//;@v&&print@v.":\t$x.\n$g:\t$`\n"}split/\.\W/,<>
|
| Okay, not exactly revolutionary, but a larger random mutation than the previous few... | |||
| 220.25 | Josef Drexler | Thu Jun 6 18:44:26 2002 | -an056 sub c{()=/@_/gi}$v=$t=0;@O=map{$v+=$V=c"[aeiouy]";$t+=$T=c '\w|\d';$_.=$"x(3- c$/);sprintf"%-*s",~~c($/),"$V/$T"}@F;$_="@F"||next;s/ *$//;s/(.{57}).{4,}/$1.../;$O[$#O=c" [^. ]"]=~y/ //d;print~~@F,":^I$_
$v/$t:^I@O
" |
| 220.26 | David Lowe | Thu Jun 6 16:31:15 2002 | -na sub
f{lc=~y#aeiouy##.'/'.y# -/:-@##c}map{$m=/\./?0:y###c>3?y###c:3;push@{--$|},$_.$"x($m- y###c)for$_,f;if(/\./){$_="@1";$_=+@0.":\t$_
".f.":\t@0
";s/^(.+\t.{57})....+(\n.+\t.{0,56}\S+).*$/$1...$2/;@0=@1=();print}}@F |
| 220.37 | Piers Cawley | Thu Jun 6 07:39:30 2002 | -ap056 sub a{$_=lc;y/aeiouy//."/".y/a-z0-9//}$_=@F?do{$a=$b='';for(@F){$f=$a=~y///c-$b=~y///c;$a.=' 'x-$f."$_ ";$b.=' 'x$f.a.' ';}$a=~s/(.{57}).{5,}/$1.../&&$b=~s/(.{56}\S*).*/$1/;s/ *$/
/for$a,$b;+@F.":^I$a".a.":^I$b"}:'' |
| Better, but still crap. | |||
| 221.17 | Qingning Huo | Thu Jun 6 11:23:22 2002 | -n056 $x=$z=$v=$l="";$x=~s/(.{57}).{4,}/$1.../&&$z=~s/ *(?<=.{56}) +.+//,print"$w:^I$x
$v/$l:^I$z
"if$w=map{$0=length($x)-length$z,$z.=$".$"x$0,$x.=$".$"x-$0if$x;$v+=$V=lc=~y/aeiouy//;$x.=$_;$l+=$L=s/\w//g;$z.="$V/$L"}split |
| 221.20 | Keith Calvert Ivey | Sat Jun 1 15:43:22 2002 | -pa056 sub c{lc=~y/aeiouy//.'/'.lc=~y/a-z0-9//}$p=c;$_.=$"x(3-length)for@F;($s,$t)="@F";$f=$/x($s=~s/(.{57}).{3,5}\S.*/$1/*3);for(@F){$s=~/\S+/g||last;$t.=c.$"x(1+y///c-length c)}$_=@F.":^I$s$f
$p:^I$t
";s/ +$//gm;$_ x=!!@F
|
| Never really found a use for -a before, so I'd forgotten about it. | |||
| 221.26 | Bret Victor | Tue Jun 4 08:22:35 2002 | -an056 reset"V-Z";for(@F){$V+=$v=tr/aeiouyAEIOUY//;$W+=$l=s/[^\W_]/$&/g;push@Z,$t="$v/$l",' '.' 'x($:=y///c-length$t);$_.=' 'x-$:if++$X<@F}$_="@F";s/(.{57})....+/$1.../;$_&&print"$X:\t$_
$V/$W:\t",@Z[0..2*s/ [^ .]//g],"
" |
| My first perlgolfy thingy ever! Whee! | |||
| 221.28 | Martin Carlsen | Tue Jun 4 14:41:53 2002 | sub c{y/aeiouyAEIOUY//."/".y/a-zA-Z0-9//}$/='.';map{@c=map{$p=length()-length c;$_.=$"x-$p;c.$"x$p}@w=split;$c=c.":^I@c";$_=@w.":^I@w";s/ *$//;s/(^I.{57})....+/$1.../s&&$c=~s/(^I.{56}\S*).*/$1/;$_.="
$c
";s/ *$//;@w&&print}<> |
| 222.20 | Benoît Chauvet | Tue Jun 4 16:37:14 2002 | -n056a sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map$"x length|p,grep{57>shift@z||$z<62}grep{$_.=!/\./&&$"x(2-/../-/.../);push@z,$z++;$z+=length}@F;$p=p$_="@F";s/(.{57})....+/$1.../;$_=@F.":^I$_
$p:^I@v
";s/ +$//;$z&&=!print |
| This /g was useless after all !!! | |||
| 223.16 | Michael Thelen | Tue Jun 4 23:21:53 2002 | -ap056 /./||last;$V=$T=$p=$q=$s=$Z;$V+=$v=@v=/[aeiouy]/ig,$T+=$t=@t=/\w/g,$x=$p=~y///c-length$q,$p.=$"x-$x.$s.$_,$q.=$"x$x."$s$v/$t",$s=$"for@F;$p=~s/(.{57}).{4,}/$1.../&&$q=~s/(.{0,56}\S+).*/$1/;$_=$z=@F.":^I$p
$V\/$T:^I$q
" |
| More shaving. Command line switches are wonderful. | |||
| 223.17 | Qingning Huo | Thu Jun 6 11:02:37 2002 | -n056 $x=$z=$v=$l="";$x=~s/(.{57}).{4,}/$1.../&&$z=~s/ *(?<=.{56}) +.+//,print"$w:^I$x
$v/$l:^I$z
"if$w=map{$0=length($x)-length$z,$z.=$".$"x$0,$x.=$".$"x-$0if$x;$v+=$V=lc=~y/aeiouy//;$l+=$L=s/\w/$&/g;$x.=$_;$z.="$V/$L"}split |
| 223.20 | Benoît Chauvet | Tue Jun 4 16:28:56 2002 | -n056a sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map$"x length|p,grep{57>shift@z||$z<62}grep{$_.=!/\./&&$"x(2-/../-/.../);push@z,$z++;$z+=length}@F;$p=p$_="@F";s/(.{57})....+/$1.../;$_=@F.":^I$_
$p:^I@v
";s/ +$//g;$z&&=!print |
| Pfff. Such an easy game ! ;) | |||
| 223.21 | Prakash Kailasa | Thu Jun 6 18:37:22 2002 | -lan056 $_="@F",s/(.{57})...+/$1../,@_=/\w+/g,$_="$n:^I$_.
$V/$T:^I@G[0..$#_]",s/ +$//,print if$V=$T=0,$m=$n=@F,@G=map{$_=lc,$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g;sprintf"%-*s",y///c,"$v/$t"}map{$_=!--$m|/...+/?$_:pack'A3',$_}@F |
| 223.21 | Michiel van Leeuwen | Tue Jun 4 17:28:02 2002 | -an056 $p=$q=0;$_="@F";map{$_=lc;$p+=$c=y/aeiouy//;$q+=$d=y/a-z0-9//;y|| |c;$_|="$c/$d"}@F;s/(\S+) /$&." "x(3-length($1))/ge;$g="@F";s/(.{57}).{4,}/$1.../&&$g=~s/(.{56}) +.*/$1/;$g=~s/ +$//;print@F.":\t$_
$p/$q:\t$g
"if/\S/ |
| A little better. A far way to go. | |||
| 223.22 | Mtv Europe | Sat Jun 1 17:40:54 2002 | -ap056 sub B{1*s/[aeiouy]/$&/ig.'/'.1*s/\w/$&/g}$B=$A=':^I';($A^=v0 x(($C=length($A^$B))+=$C>2)).=$_,($B^=v0 x$C).=B for@F;pos$B=59;$A=~s/(.{59})....+/$1.../&&$B=~s/\0+\G.*|\G([^\0]+).*/$1/;$_=@F?@F."$A
".B."$B
":'';s/\0/ /g |
| 5th place than | |||
| 223.23 | Andrew Savige | Mon Jun 3 08:15:17 2002 | -ap056 $t=$s=$y=v9;
@n=map{$t+=$v=lc=~y;aeiouy;;;$s+=$c=s;[^_\W];$&;g;
$_.=$"x(3-($l=y)))c));
$y.($z="$v/$c").""x($y=$"x($l-length$z))}@F;
$_="@F";s; +$;;;s;(.{57})....+;$1...;;$_=@F.":^I$_
$t/$s:@n[0..-1+split/[. ]+/]
"if@F
|
| You may be wondering why I am leaving 4 unnecessary newlines. Well, the most satisfying experience in golf, unquestionably, is to come from behind in the last hour to pip the `/anick by a single stroke. You might call me devious, even fiendish, but I want that 4-stroke cushion so that if I am 3 strokes behind `/anick with an hour to go, I can move ahead of him simply by deleting my carefully hoarded newlines. | |||
| 223.26 | David Lowe | Thu Jun 6 16:01:03 2002 | -na sub f{lc=~y#aeiouy##.'/'.y# -/:-@##c}map{$m=($s=/\./)?0:y###c>3?y###c:3;push@{--$|},$_.$"x($m- y###c)for$_,f;if($s){$_="@1";$_=+@0.":\t$_
".f.":\t@0
";s/^(.+\t.{57})....+(\n.+\t.{0,56}\S+).*$/$1...$2/;@0=@1=();print}}@F |
| 225.18 | Honza Pazdziora | Fri Jun 7 13:01:27 2002 | -056n sub d{lc=~y!aeiouy!!.'/'.s!\w!$&!g}@w=/\S+/g;$"=' 'x60;$_="@w
@{[d]}:^I@{[map{d}@w]}";for$x(0..80){s/^(.{$x}) +(.*)
(.*^I.{$x}) +(.*)/$1 $2
$3 $4/}s/^(.{57}).{4,}/$1.../&&s/(^I.{56,}?) .*/$1/;s/\s*$//;print@w+0,":^I$_
"if@w |
| 225.20 | Benoît Chauvet | Tue Jun 4 16:20:27 2002 | -n056a sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map$"x length|p,grep{57>shift@z||$z<62}map{$_.=!/\./&&$"x(2-/../-/.../);push@z,$z++;$z+=length;$_}@F;$p=p$_="@F";s/(.{57})....+/$1.../;$_=@F.":^I$_
$p:^I@v
";s/ +$//g;$z&&=!print |
| Bon sang, mais c'est bien sûr !!! =) | |||
| 225.22 | Peter Haworth | Fri Jun 7 18:46:02 2002 | -ap056 reset'a-z';for(@F){$c+=$C=()=/\w/g;$v+=$V=()=/[aeiouy]/gi;$w.="$_ ";$n.="$V/$C ";($_|=$n^$n^$w^$w)=~y/\0/ /for$w,$n}$_=$w;s/ +$//;s/(.{57})....+/$1.../;$n=~/\S+/gfor/[^.\s]\S*/g;$n=~s/\G.*//;$_=$n&&@F.":^I$_
$v/$c:^I$n
" |
| Tiny shavings. Now I really am going home | |||
| 225.23 | Qingning Huo | Wed Jun 5 22:29:45 2002 | -n056 $x=$z=$v=$l="";$x=~s/(.{57}).{4,}/$1.../&&$z=~s/ *(?<=.{56}) +.+//,print"$w:^I$x
$v/$l:^I$z
"if$w=map{$0=length($x)-length$z,$z.=$".$"x$0,$x.=$".$"x-$0if$x;$v+=$V=y/aeiouyAEIOUY//;$l+=$L=s/\w/$&/g;$x.=$_;$z.="$V/$L"}split |
| 225.34 | Amir Karger | Thu Jun 6 20:28:16 2002 | -pa056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}
sub l{formline":$f\n",@_}
(@r=map{$f.="@"."<"x length($_|$:);g}@F)?l@F:exit;
substr($f,57)=~y/ @/</if$^A=~s/(.{58})....+/$1.../;
$^A=@F.$^A.g;
l@r;
$_=$^A;s/^\S+:/$&\t/gm;$f=$^A="" |
| Who the &$#! uses formline?! (I thought this one was definitely going to be more reducible...) | |||
| 226.17 | Jasper McCrea | Thu Jun 6 20:57:24 2002 | -0 map{$T=$V=$w=$s='';$c=map{$V+=@v=/[aeiouy]/ig;$T+=@t=/\w/g;$w.=$_.=$".$"x(3-tr///c);y// /c;$s.=@v.'/'.@t|$_}/\S+/g;s/ *$/
/,$w=~s/(.{57}).{4,}/$1.../&&$s=~s/(.{56}\S*).*/$1/for$w,$s;$c&&print"$c:^I$w$V/$T:^I$s"}<>=~/[^.]*.?/g |
| . actually matches . for once (and it's taken me hours to get this) | |||
| 226.20 | Keith Calvert Ivey | Sat Jun 1 15:38:27 2002 | -p056 sub c{lc=~y/aeiouy//.'/'.lc=~y/a-z0-9//}split;$p=c;$_.=$"x(3-length)for@_;($s,$t)="@_";$f=$/x($s=~s/(.{57}).{3,5}\S.*/$1/*3);for(@_){$s=~/\S+/g||last;$t.=c.$"x(1+y///c-length c)}$_=@_.":^I$s$f
$p:^I$t
";s/ +$//gm;$_ x=!!@_ |
| 226.23 | Qingning Huo | Wed Jun 5 20:16:00 2002 | -n056 $x=$z=$v=$l="";$x=~s/(?<=.{57}).{4,}/.../&&$z=~s/ *(?<=.{56}) +.+//,print"$w:^I$x
$v/$l:^I$z
"if$w=map{$0=length($x)-length$z,$z.=$".$"x$0,$x.=$".$"x-$0if$x;$v+=$V=y/aeiouyAEIOUY//;$l+=$L=s/\w/$&/g;$x.=$_;$z.="$V/$L"}split |
| 226.26 | Amir Karger | Tue Jun 4 17:47:33 2002 | -pa056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}
sub p{sprintf"%-*s",$m*!/\.$/,pop}
$x=$"="";
(map{$m=($l=length)>3?$l+1:4;$x.=p$_;$_=p g}@F)?$x=~s/(.{57})....+/$1.../:exit;
$_=@F.":\t$x\n".g.":\t@F[0..$x=~s/ +[^.]//g]\n";
s/ +$// |
| Duh! -a switch! Also, I never knew you could interpolate such complicated expressions in quotes. | |||
| 227.19 | Jasper McCrea | Thu Jun 6 18:23:29 2002 | -0 map{$T=$V=$w=$s='';$c=map{$V+=@v=/[aeiouy]/ig;$T+=@@=/\w/g;$w.=$_.=$".$"x(3-tr///c);y// /c;$s.=@v.'/'.@@|$_}/\S+/g;s/ *$/
/,$w=~s/(.{57}).{4,}/$1.../&&$s=~s/(.{56}\S*).*/$1/for$w,$s;print"$c:^I$w$V/$T:^I$s"if$c}<>=~/[^.]+\.?/g |
| sorry about that, couldn't paste the tabs from the terminal I was using. | |||
| 227.21 | pom | Mon Jun 3 13:04:38 2002 | -ln0777 map{$p=$V=$L=@C=();$_=join$",map{$q=$p;$V+=$v=lc=~y/aeiouy//;$L+=$l=y/0-9A-z//;$p=y///c-length($k="$v/$l");push@C,$"x$q.$k;$"x-$q.$_}@s=split;s/(.{57})....+/$1.../;print@s.":^I$_
$V/$L:^I@C[0..-1-/ \W+$/+split]"}/.+?\./gs |
| I hope it works this time! | |||
| 227.26 | Chris Dolan | Thu Jun 6 07:47:50 2002 | -056na $_.=$"x(3-length)for@F;$_="@F";@v=map{$V+=$v=y/aeiouyAEIOUY//."/".(@n=/\w/g);$N+=@n;$v.$"x(length()-length$v)}@F;s/ *$//;s/(.{57})....+/$1.../&&splice@v,(@x=/\w\S+/g);$_=@F.":\t$_
$V/$N:\t@v";s/ *$/
/;$V=$N=!print if/\./ |
| This slightly longer solution passes the test that my previous solution failed I think it is a good solution and not just another hack, but I'm not 100% sure | |||
| 227.32 | Rick Klement | Sat Jun 1 14:48:54 2002 | -0p sub c{y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//}$_=join'',map{$n=split;@c=map{c.$"x(y///c-length c)}map$_.=$"x(3-length),@_;s/ *$/./,s/(.{57}).{4,}/$1.../&&($#c=-1+split' ',$1)for$a="@_";"$n:^I$a
".c.":^I@c
"}/(\S.*?)\./sg;s/ +$//mg |
| I need practice with the tabs :) | |||
| 228.15 | Michael Thelen | Tue Jun 4 22:50:21 2002 | -p056 /./||last;$V=$T=$p=$q=$s=$Z;$V+=$v=@v=/[aeiouy]/ig,$T+=$t=@t=/\w/g,$x=$p=~y///c-length$q,$p.=$"x-$x.$s.$_,$q.=$"x$x."$s$v/$t",$s=$"for@w=split;$p=~s/(.{57}).{4,}/$1.../&&$q=~s/(.{0,56}\S+).*/$1/;$_=$z=@w.":^I$p
$V\/$T:^I$q
" |
| I discovered command line switches (duh)! What a revelation! Surely Perl holds many secrets I have yet to discover. | |||
| 228.20 | Stephen Turner | Sat Jun 1 15:18:24 2002 | -lX00 sub b{lc=~y/aeiouy//.'/'.y/a-zA-Z0-9//}map{$n=@r=/\S+/g;$_=sprintf('%-3s 'x$#r,@r).$r[-1];$m=b;s/(.{57})...+/$1../;$s=@s=/ [^.]/g;@x=map$s-->=0&&b.$"x(y///c-length b),@r;print"$n:^I$_.
$m:^I@x"=~/.*\d/gs}map/\s*([^.]+)./g,<>
|
| 228.20 | Benoît Chauvet | Tue Jun 4 15:52:11 2002 | -n056a sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map$"x length|p,grep{57>shift@z||$z<62}@w=map{$_.=!/\./&&$"x(2-/../-/.../);push@z,$z++;$z+=length;$_}@F;$p=p$_="@w";s/(.{57})....+/$1.../;$_=@w.":^I$_
$p:^I@v
";s/ +$//g;$z&&=!print |
| 228.23 | Peter Haworth | Fri Jun 7 18:30:14 2002 | -ap056 reset'a-z';for(@F){$c+=$C=()=/\w/g;$v+=$V=()=/[aeiouy]/gi;$w.="$_ ";$n.="$V/$C ";($_|=$n^$n^$w^$w)=~y/\0/ /for$w,$n}$_=$w;s/ +$//;s/(.{57})....+/$1.../;$n=~/\S+/gwhile/[^.]\S*\s*/g;$n=~s/\G.*//;$_=$n&&@F.":^I$_
$v/$c:^I$n
" |
| Aha! I knew there must be a way to shorten those variable initializations. | |||
| 228.23 | Prakash Kailasa | Thu Jun 6 18:19:58 2002 | -lan056 $_="@F",s/(.{57})...+/$1../,@_=/\w+/g,$_="$n:^I$_.
$V/$T:^I@G[0..$#_]",s/ +$//,print if$V=$T=0,$m=$n=@F,@G=map{$_=lc,$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g;pack'A'.(/...+/?y///c:3),"$v/$t"}map{$_=!--$m|/...+/?$_:pack'A3',$_}@F |
| 228.27 | Alain "TopMach" Dupuis | Thu Jun 6 22:37:17 2002 | -0 for(<>=~/[^.]+/g){my(@r,$p,$t,$v);$t+=@b=/\w/g,$v+=$@=y/aeiouyAEIOUY//."/".@b,$p.="$_ ".' 'x(3-tr// /c),$j=push@r,$_|"$@"for/\S+/g;$_=$p;s/ +$//;s/(.{57})...+/$1../;$#r=(()=/\w+/g)-1;"@r"=~/ *$/;$t&&print"$j:^I$_.
$v/$t:^I$`
"} |
| 228.30 | Bruce Gray | Thu Jun 6 14:02:15 2002 | -na056 $c=@F;$^A=$:='';$_.=$"x(3-length)for@F[0..@F-2];@n=map{$s=$u=y/aeiouy//.'/'.y/a-z0-9//;$s.=$"x(y///c-length$s)}map lc,@F,$_;formline'^'.'<'x56 .'...',"@F";$_=$^A;y/.//d;$#n=(split)-1;$_="$c:^I$^A
$u:^I@n
";s/ +$//;$c&&print
|
| 228.35 | Alain "TopMach" Dupuis | Thu Jun 6 21:32:44 2002 | -0 for(<>=~/[^.]+/g){my(@r,$p,$t,$v);$t+=@a=/\w/g,$v+=$@=y/aeiouyAEIOUY//."/".@a,$p.="$_ ".' 'x(3- y// /c),$i=push@r,$_|"$@"for/\S+/g;$_=$p;s/ +$//;s/(.{57})...+/$1../;$#r=(()=/\w+/g)-1;"@r"=~/ *$/;$t&&print"$i:^I$_.
$v/$t:^I$`
"} |
| 229.19 | jacoph | Thu Jun 6 13:37:23 2002 | -n0 map{$n=0;$r=$_;@w=map{sprintf"%-3s",$_}split;$_="@w";s/ *$/./;s/(?<=.{57}).{4,}/.../;@w&&printf@w.":^I$_
%*s:^I"."%-*s"x($q=@x=/^| \S(?!\.\.$)/g)."
",map{(!$n++||!--$q||1+length,(@x=/[aeiouy]/ig).'/'.s/\w//g)}$r,@w}split/\.\s+/ |
| 229.20 | Benoît Chauvet | Tue Jun 4 13:31:54 2002 | -n056a sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map{$"x length|p}grep{shift@z<57||$z<62}@w=map{/\./ or$_.=$"x(2-/../-/.../);push@z,$z++;$z+=length;$_}@F;$p=p$_="@w";s/(.{57})....+/$1.../;$_=@w.":^I$_
$p:^I@v
";s/ +$//g;$z&&=!print |
| I didn't think that a tight contest could create such a motivation! | |||
| 229.24 | seano | Wed Jun 5 05:53:40 2002 | $/=$*;sub v{$_=lc;y/aeiouy//.'/'.y/a-z0-9//}map{split;$g=v;s/\S+\s?/A.length($&|$"x4)/eg;$_=pack$p=$_,@_;s/ *$/./;$n=s/^(.{57}).{4,}/$1.../?56:60;($x=pack$p,map{v}@_)=~s/^.{0,$n}\S+/@_&&print@_.":\t$_\n$g:\t$&\n"/e}split/\.\W/,<>
|
| Another minor tweak... | |||
| 229.27 | Yanick Champoux | Tue Jun 4 22:18:08 2002 | -p056 sub
t{map
y/aeiyou//.'/'.(@a=/\w/g),lc
pop}@q=map$_.$"x(3-
y///c),split;@w=t$y=$_="@q";s/ +$//,s/(.{57})....+/$1.../,$x=@a=/\w\S*/gfor$y;s#\S..?\S*#sprintf"%-@{[length$&]}s",t$&#eg,/( *\d+\/\d+){$x}/;
$_&&=@q.":^I$y
@w:^I$&
" |
| must.. shave.. more.. strokes.. | |||
| 229.29 | Josef Drexler | Wed Jun 5 20:34:28 2002 | -an056 sub c{()=/@_/gi}$v=$t=0;@O=map{$v+=$V=c"[aeiouy]";$t+=$T=c '\w|\d';$_.=$"x(3- c$/);$e="$V/$T";$e.$"x(c($/)-length$e)}@F;$_="@F"||next;s/ *$//;$#O=c" [^. ]"if s/(.{57}).{4,}/$1.../;$O[-1]=~y/ //d;print~~@F,":^I$_
$v/$t:^I@O
" |
| one character at a time... but I think I'll need a new strategy fast. | |||
| 230.18 | Keith Calvert Ivey | Sat Jun 1 15:33:13 2002 | -p056 sub c{lc=~y/aeiouy//.'/'.lc=~y/a-z0-9//}@b=split;$p=c;$_.=$"x(3-length)for@b;($s,$t)="@b";$f='.'x($s=~s/(.{57}).{3,5}\S.*/$1/*3);for(@b){$s=~/\S+/g||last;$t.=c.$"x(1+y///c-length c)}$_=@b.":^I$s$f
$p:^I$t
";s/ +$//gm;$_ x=!!@b
|
| 230.19 | Sec | Fri Jun 7 14:52:25 2002 | -ap056 $_=$x=$b='';if(@r=map{$_.=$"x(3*!/\./-length);$-=length;$b+=@D=/\w/g;$x+=@C=/[aeiouy]/ig;sprintf"%-$-s",@C."/".@D}@F){$_="@F";s/(.{57})....+/$1.../;/ *\../g;substr($q="@r",pos()-3)=~s/\s.*//;$_=@F.":^I$_
$x/$b:^I$q
";s/ +$//}
|
| Rework trunctating the second string. Thanks to pos, this seems more promising. | |||
| 230.20 | pom | Mon Jun 3 11:25:37 2002 | -ln0777 map{$p=$V=$L=@C=();$_=join$",map{$q=$p;$V+=$v=lc=~y/aeiouy//;$L+=$l=y/0-9A-z//;$p=y///c-length($k="$v/$l");push@C,$"x$q.$k;$"x-$q.$_}@s=split;s/(.{57})....+/$1.../;print@s.":\t$_\n$V/$L:\t@C[0..-1-/ \W+$/+split]"}/.+?\./gs |
| 230.32 | Scott Hall | Fri Jun 7 20:42:17 2002 | -nla0056 if(@F){y/
/ /;s/\S+/A.(($!=length$&)<3?4:$!+1)/ge;s/\d+$/*/;print@F.":^I",map{s/(.{57})....+
((.*?[^^I]{56}) ..+|(.*))/$1...
$3$4/;s/ *$//;$_}pack($_,@F).".
".pack"A*$_",map{y/aeiouyAEIUOY//."/".s/\w//g.(":^I"x/#/)}"@F#",@F} |
| 231.23 | David Lowe | Thu Jun 6 09:35:55 2002 | -na map{$J+=$j=lc=~y#aeiouy##;$K+=$k=y#"-/:-@##c;$m=($s=/\./)?0:y###c>3?y###c:3;push@{--$|},$_.$"x($m- y###c)for$_,"$j/$k";if($s){$_=+@0.":\t@1
$J/$K:\t@0
";s/^(.+\t.{57})....+(\n.+\t.{0,56}\S+).*$/$1...$2/;$J=$K=@0=@1=();print}}@F |
| must sleep now | |||
| 231.24 | Chris Dolan | Thu Jun 6 07:32:02 2002 | -056na $s=$w=$N=$V=!print+(map{$N+=@n=/\w/g;$V+=$z=y/aeiouyAEIOUY//."/".@n;$w.=$".$"x($d=length($s)-length$w),$s.=$".$"x-$d if$w;$s.=$z;($w.=$_)=~s/(.{57})....+/$1.../&&$s=~s/(.{56}\S*).*/$1/;$s=~s/ *$//}@F).":^I$w
$V/$N:^I$s
"if/\./ |
| Minor improvement | |||
| 232.20 | pom | Sat Jun 1 17:01:08 2002 | -ln0777 map{$p=$V=$L=@C=();$_=join$",map{$q=$p;$V+=$v=lc=~y/aeiouy//;$L+=$l=y/0-9A-z//;$p=y///c-length($k="$v/$l");push@C,$"x$q.$k;$"x-$q.$_}@s=/\S+/g;s/(.{57}).{4,}/$1.../;print@s.":\t$_\n$V/$L:\t@C[0..split()-1-/ \W+$/]"}/.+?\./gs |
| 232.20 | Guillermo Sansovic | Tue Jun 4 16:55:51 2002 | sub c{0+s/[aeiouy]/$&/gi.'/'.s/\w//g}sub p{s/ +$//;print"@_:\t$_\n"}$/='.';for(<>){@s=map sprintf("%-3s",$_),split;$w=c;$_="@s"||next;s/(.{57})...+\S/$1.../;p~~@s;@c=map /.*/&&sprintf("%-$+[0]s",c),@s[0..-1-/ \./+split];$_="@c";p$w}
|
| 232.23 | Prakash Kailasa | Thu Jun 6 15:27:27 2002 | -lan056 $_="@F",s/(.{57})...+/$1../,@_=/[-\w']+/g,$_="$n:^I$_.
$V/$T:^I@G[0..$#_]",s/ +$//,print if$V=$T=0,$m=$n=@F,@G=map{$_=lc,$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g;pack'A'.(/...+/?y///c:3),"$v/$t"}map{$_=!--$m|/...+/?$_:pack'A3',$_}@F |
| little more than 2 this time. still a long way to go :-( | |||
| 232.23 | seano | Tue Jun 4 18:40:10 2002 | $/=$*;sub v{$_=lc;y/aeiouy//.'/'.y/a-z0-9//}map{@p=map{A.length("$_ "|$"x4)}@w=split;$g=v;$_=pack"@p",@w;s/ *$/./;$n=s/^(.{57})...+\S/$1.../?56:60;($x=pack"@p",map{v}@w)=~s/^.{0,$n}\S+/@w&&print@w.":\t$_\n$g:\t$&\n"/e}split/\.\W/,<>
|
| must... improve... tiebreak... must... find... new... idea... | |||
| 232.24 | Qingning Huo | Wed Jun 5 17:13:51 2002 | -n056 $x=$z=$v=$l="";$x=~s/(?<=.{57}).{4,}/.../&&$z=~s/ *(?<=.{56}) +.+//,print"$w:^I$x
$v/$l:^I$z
"if$w=map{(($0=length($x.=$")-length($z.=$"))>0?$z:$x).=$"x abs$0if$x;$v+=$V=y/aeiouyAEIOUY//;$l+=$L=s/\w/$&/g;$x.=$_;$z.="$V/$L"}split |
| 232.29 | Bruce Gray | Wed Jun 5 02:06:24 2002 | -na056 $c=@F;$^A=$:='';$_.=$"x(3-length)for@F[0..@F-2];@n=map{$s=$u=y/aeiouy//.'/'.y/a-z0-9//;/$/;$s.=$"x($+[0]-length$s)}map lc,@F,$_;formline'^'.'<'x56 .'...',"@F";$_=$^A;y/.//d;$#n=(split)-1;$_="$c:^I$^A
$u:^I@n
";s/ +$//;$c&&print
|
| 232.30 | Andrew Savige | Mon Jun 3 03:51:54 2002 | -p056 $t=$s=$y=v9;
@n=map{$t+=$v=y;aeiouyAEIOUY;;;$s+=$c=y;a-zA-Z0-9;;;
$_.=$"x(3-($l=y)))c));
$y.($z="$v/$c").""x($y=$"x($l-length$z))}@x=/\S+/g;
$_="@x";s; +$;;;s;(.{57})....+;$1...;;$_=@x.":^I$_
$t/$s:@n[0..(@==/[^. ]+/g)-1]
"if@x
|
| 233.24 | Chris Dolan | Thu Jun 6 05:46:10 2002 | -056n $s=$w=$N=$V=!print+(map{$N+=@n=/\w/g;$V+=$z=y/aeiouyAEIOUY//."/".@n;$w.=$".$"x($d=length($s)-length$w),$s.=$".$"x-$d if$w;$s.=$z;($w.=$_)=~s/(.{57})....+/$1.../&&$s=~s/(.{56}\S*).*/$1/;$s=~s/ *$//}split).":^I$w
$V/$N:^I$s
"if/\./ |
| Ugh. Way too much work for such a long solution... This problem is hard. | |||
| 233.26 | Mtv Europe | Sat Jun 1 16:55:44 2002 | -ap056 sub B{1*s/[aeiouy]/$&/ig.'/'.1*s/\w/$&/g}$B=$A=':^I';$A.=$"x((($C=($D=length$A)>($E=length$B)?$D:$E)+=$D>2)-$D).$_,$B.=$"x($C-$E).B for@F;pos$B=59;$A=~s/(.{59})....+/$1.../&&$B=~s/\s+\G.*|\G(\S+).*/$1/;$_=@F?@F."$A
".B."$B
":'' |
| back my sixth place | |||
| 234.18 | Jasper McCrea | Thu Jun 6 18:04:08 2002 | -0 map{$T=$V=$w=$s='';$c=map{$V+=@v=/[aeiouy]/ig;$T+=@@=/\w/g;$w.=$_.=$".$"x(3-tr///c);y// /c;$s.=@v.'/'.@@|$_}/\S+/g;s/ *$/
/,$w=~s/(.{57}).{4,}/$1.../&&$s=~s/(.{56})(\S+)?.*/$1$2/for$w,$s;print"$c:\t$w$V/$T:\t$s"if$c}<>=~/[^.]+\.?/g |
| failing that test did me some good, I hate to say. (s/\t/hard tabs/g, please Mr. Judge) | |||
| 234.21 | Michiel van Leeuwen | Tue Jun 4 15:53:59 2002 | -an056 $p=$q="";$_="@F";map{$_=lc;$p+=$c=y/aeiouy//;$q+=$d=y/a-z0-9//;s|.| |g;$_|="$c/$d"}@F;s/(\S+)( +)/$&." "x(3-length($1))/ge;$g="@F";s/(.{57}).{4,}/$1.../&&$g=~s/\S+/$-[0]>56?"":$&/ge;$g=~s/ +$//;print@F.":\t$_
$p/$q:\t$g
"if/\S/ |
| Aaargh, wrapping!!! | |||
| 234.24 | Chris Dolan | Wed Jun 5 01:53:01 2002 | -ln map{$N+=@n=/\w/g;$V+=$z=y/aeiouyAEIOUY//."/".@n;$w.=$".$"x($d=length($s)-length$w),$s.=$".$"x-$d if$W++;$s.=$z;($w.=$_)=~s/(.{57})....+/$1.../&&$s=~s/(.{56}\S*).*/$1/;$s=~s/ *$//;$s=$w=$W=$V=$N=!print"$W:^I$w
$V/$N:^I$s"if/\./}split |
| I hope the literal tabs come through OK... | |||
| 234.27 | Bruce Gray | Tue Jun 4 22:01:28 2002 | -na056 $c=@F;$^A=$:='';$_.=$"x(3-length)for@F[0..@F-2];@n=map{$s=$u=y/aeiouy//.'/'.y/a-z0-9//;/$/;$s.=$"x($+[0]-length$s)}map lc,@F,$_;formline'^'.'<'x56 .'...',"@F";$_=$^A;$#n=(split)-1-/ \.{3}$/;$_="$c:^I$_
$u:^I@n
";s/ +$//;$c&&print |
| 234.29 | Josef Drexler | Tue Jun 4 20:24:33 2002 | -an056 sub c{()=/@_/gi}$v=$t=0;@O=map{$v+=$V=c"[aeiouy]";$t+=$T=c '[a-z\d]';$_.=$"x(3- c".");$e="$V/$T";$e.$"x(c(".")-length$e)}@F;$_="@F"||next;s/ *$//;$#O=c" [^. ]"if s/(.{57}).{4,}/$1.../;$O[-1]=~y/ //d;print~~@F,":^I$_
$v/$t:^I@O
" |
| trying again, with the tabs pasted properly | |||
| 235.21 | Stephen Turner | Sat Jun 1 14:34:05 2002 | -lX00 sub b{lc=~y/aeiouy//.'/'.y/a-zA-Z0-9//}map{$n=@r=/\S+/g;$_=sprintf('%-3s 'x$#r,@r).$r[-1];$m=b;s/(.{57})...+/$1../;$s=s/ [^.]/$&/g;print"$n:^I$_.";@x=map$s-->=0&&b.$"x(y///c-length b),@r;print"$m:^I@x"=~/.*\d/g}map/\s*([^.]+)./g,<>
|
| 235.32 | Scott Hall | Fri Jun 7 05:56:34 2002 | -nla0056 if(@F){y/
/ /;s/\S+/A.length$&/ge;s/\d+/$&<3?4:$&+1/ge;s/\d+$/*/;print@F.":^I",map{s/(.{57})....+
((.*?[^^I]{56}) ..+|(.*))/$1...
$3$4/;s/ *$//;$_}pack($_,@F).".
".pack"A*$_",map{y/aeiouyAEIUOY//."/".s/\w//g.(":^I"x/#/)}"@F#",@F} |
| 235.32 | Scott Hall | Fri Jun 7 14:26:27 2002 | -nla0056 if(@F){y/
/ /;s/\S+/A.length$&/ge;s/\d+/$&<3?4:$&+1/ge;s/\d+$/*/;print@F.":^I",map{s/(.{57})....+
((.*?[^^I]{56}) ..+|(.*))/$1...
$3$4/;s/ *$//;$_}pack($_,@F).".
".pack"A*$_",map{y/aeiouyAEIUOY//."/".s/\w//g.(":^I"x/#/)}"@F#",@F} |
| 236.24 | seano | Tue Jun 4 16:52:59 2002 | $/=$*;sub v{$_=lc;y/aeiouy//.'/'.y/a-z0-9//}map{@p=map{A.length("$_ "|$"x4)}@w=split;$g=v;$_=pack"@p",@w;s/ *$/./;$i=s/^(.{57})...+\S/$1.../?56:60;($x=pack"@p",map{v}@w)=~s/^(.{0,$i}\S+).*/@w&&print@w.":\t$_\n$g:\t$1\n"/e}split/\.\W/,<>
|
| Nevermind... I can shave one more off. | |||
| 236.32 | Rick Klement | Sat Jun 1 06:55:17 2002 | -0p sub c{y/aeiouyAEIOUY//."/".(()=/[^\W_]/g)}$_=join'',map{$n=split;@c=map{c.$"x(y///c-length c)}map$_.=$"x(3-length),@_;$_[-1]=~y/ //d;($a="@_.")=~s/(.{57}).{4,}/$1.../&&splice@c,split' ',$1;"$n:^I$a
".c.":^I@c
"}/(\S.*?)\./sg;s/ +$//mg |
| these tabs sure are a pain... | |||
| 236.33 | Scott Hall | Fri Jun 7 05:54:40 2002 | -nla0056 if(@F){y/
/ /;s/\S+/A.length$&/ge;s/\d+/$&<3?4:$&+1/ge;s/\d+$/*/;print@F.":^I",map{s/(.{57})....+
((.*?[^^I]{56}) ..+|(.*))/$1...
$3$4/;s/ *$//;$_}pack($_,@F).".
".pack"A*$_",map{y/aeiouyAEIUOY//."/".s/\w//gi.(":^I"x/#/)}"@F#",@F} |
| 236.37 | Piers Cawley | Thu Jun 6 06:57:55 2002 | -ap056 sub a{$_=lc;y/aeiouy//."/".y/a-z0-9//}$_=@F?do{$a=$b='';
for(@F){$f=$a=~y///c-$b=~y///c;$a.=' 'x-$f."$_ ";$b.=' 'x$f.a.' ';$a=~s/(.{57}).*/$1.../,$b=~s/(.{56}\S*).*/$1/,last if$a=~y///c>61}s/ *$/
/for$a,$b;+@F.":^I$a".a.":^I$b"}:''
|
| Horrible, but it's my first passing algorithm, golfed up only a little. | |||
| 237.16 | Michael Thelen | Tue Jun 4 05:54:35 2002 | $/=$Z;map{$V=$T=$p=$q=$s=$Z;$V+=$v=@v=/[aeiouy]/ig,$T+=$t=@t=/\w/g,$x=$p=~y///c-length$q,$p.=$"x-$x.$s.$_,$q.=$"x$x."$s$v/$t",$s=$"for@w=split;$p=~s/(.{57}).{4,}/$1.../&&$q=~s/(.{0,56}\S+).*/$1/;print$z=@w,":^I$p
$V/$T:^I$q
"}<>=~/.+?\./sg |
| So many hours and only 9 fewer strokes to show for it! My left eyeball popped 2 hours ago. | |||
| 237.19 | Honza Pazdziora | Fri Jun 7 10:17:08 2002 | -056n sub d{lc=~y!aeiouy!!.'/'.s!\w!$&!g}my($m,$p,$x);$m++,$x.=$c=sprintf('%-*s ',y!!!c,d),$p.=sprintf'%-*s',length$c,$_ for/(\S+)/g;$p=~s/(.{57})....*\S.*/$1.../and$x=~s/(.{56}.*?) .*/$1/;s/\s+$//for$p,$x;print"$m:\t$p
@{[d]}:\t$x
"if$m |
| 237.24 | seano | Tue Jun 4 16:36:21 2002 | $/=$*;sub v{$_=lc;y/aeiouy//.'/'.y/a-z0-9//}map{@p=map{A.length("$_ "|$"x4)}@w=split;$g=v;$_=pack"@p",@w;s/ *$/./;$i=s/^(.{57}).{3,}\S/$1.../?56:60;($x=pack"@p",map{v}@w)=~s/^(.{0,$i}\S+).*/@w&&print@w.":\t$_\n$g:\t$1\n"/e}split/\.\W/,<>
|
| Maybe it's time for a new approach... | |||
| 237.30 | Eugene van der Pijll | Sat Jun 1 08:43:07 2002 | -p056 sub e{lc=~y/aeiouy//."/".s/\w/$&/g}$w=split;$a.=$_,$b.=e,$a.=$"x($d=$b=~y///c-length$a).$",$b.=$"x-$d.$"for@_;s/ +$//,s/(.{57}).{4,}/$1/&&$b=~s/((\S+ +){${\~~split}}).*/$1/&&s/$/.../for$a;$_=$w?"$w:^I$a
".e.":^I$b
":'';$a=$b=!s/ +$// |
| 238.23 | Prakash Kailasa | Thu Jun 6 15:18:08 2002 | -lan056 $_="@F",s/(.{57})...+/$1../,@_=/[-\w']+/g,($g="@G[0..$#_]")=~s/ +$//,print"$n:^I$_.
$V/$T:^I$g"if$V=$T=0,$m=$n=@F,@G=map{$_=lc,$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g;pack'A'.(/...+/?y///c:3),"$v/$t"}map{$_=!--$m|/...+/?$_:pack'A3',$_}@F |
| 2 chars at a time :-) | |||
| 238.27 | Yanick Champoux | Tue Jun 4 12:45:38 2002 | -p056 sub
t{local$_=lc
pop;y/aeiyou//.'/'.(@a=/\w/g)}$w=t$y=$_=join$",map{sprintf"%-3s",$_}@q=split;$y=~s#\S..?\S*#sprintf"%-@{[length$&]}s",t$&#eg;s/ +$//;s/(.{57})....+/$1.../;$x=@a=/\w\S*/g;$y=~/( *\d+\/\d+){$x}/;$_&&=@q.":^I$_
$w:^I$&
" |
| A small shaving for my script, a big leap toward Benoit's occular explosion. :) | |||
| 238.33 | Alain "TopMach" Dupuis | Wed Jun 5 18:31:03 2002 | -0 for(<>=~/[^.]+/g){my(@r,$p,$t,$v);$_.=' 'x(3-length),$t+=@a=/\w/g,$v+=$@=y/aeiouyAEIOUY//."/".@a,$p.="$_ ",y// /c,$i=push@r,$_|"$@"for/\S+/g;$_=$p;s/ +$//;s/(.{57})...+/$1../;$#r=(()=/\w+/g)-1;"@r"=~/ *$/;$t&&print"$i:^I$_.
$v/$t:^I$`
"} |
| 239.20 | Eike Grote | Wed Jun 5 07:21:22 2002 | -ln for(/\S+/g){$t++;$q+=@v=/[aeiouy]/ig;$r+=@c=/[a-z\d]/ig;$w=length($p.=$_)-length($s.=@v."/".@c);/\./ or$s.=$"x$w.$",$p.=$"x-$w.$",next;$_=$s;$p=~s/(.{57}).{4,}/$1.../&&s/(.{56,}?) .*/$1/;s/ +$//;print"$t:^I$p
$q/$r:^I$_";$$_=''for(p..t)} |
| 239.32 | Scott Hall | Fri Jun 7 04:40:01 2002 | -nla0056 if(@F){y/
/ /;s/\S+/A.length$&/ge;s/\d+/$&<3?4:$&+1/ge;s/\d+$/*/;print@F.":^I",(map{$s=s/(.{57})...+/$1../;$_}pack$_,@F),".
",map{$s&&s/([^^I]{56}) ..+/$1/;s/ *$//;$_}pack"A*$_",map{y/aeiouyAEIUOY//."/".s/\w//gi.(":^I"x/#/)}"@F#",@F} |
| 240.22 | Prakash Kailasa | Thu Jun 6 15:10:36 2002 | -lan056 $_="@F",s/(.{57})...+/$1../,@_=/[-\w']+/g,@G=@G[0..$#_],$G[-1]=~s/ +//,print"$n:^I$_.
$V/$T:^I@G"if$V=$T=0,$m=$n=@F,@G=map{$_=lc,$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g;pack'A'.(/...+/?y///c:3),"$v/$t"}map{$_=!--$m|/...+/?$_:pack'A3',$_}@F |
| 240.23 | Honza Pazdziora | Wed Jun 5 14:16:26 2002 | -056n sub d{y!aeiouyAEIOUY!!.'/'.s!\w!$&!g}my($m,$p,$x);$m++,$x.=$c=sprintf('%-*s ',length,d),$p.=sprintf'%-*s',length$c,$_ for/(\S+)/g;$p=~s/(.{57})....*\S.*/$1.../and$x=~s/(.{56}.*?) .*/$1/;s/\s+$//for$p,$x;print"$m:\t$p
@{[d]}:\t$x
"if$m |
| 240.32 | Scott Hall | Fri Jun 7 04:38:18 2002 | -nla0056 if(@F){y/
/ /;s/\S+/A.length$&/ge;s/\d+ /$&<3?4:$&+1/ge;s/\d+$/*/;print@F.":^I",(map{$s=s/(.{57})...+/$1../;$_}pack$_,@F),".
",map{$s&&s/([^^I]{56}) ..+/$1/;s/ *$//;$_}pack"A*$_",map{y/aeiouyAEIUOY//."/".s/\w//gi.(":^I"x/#/)}"@F#",@F} |
| 241.19 | RRBuonanno | Wed Jun 5 13:28:22 2002 | -n0 map{$n=0;$r=$_;@w=map{sprintf"%-3s",$_}split;$_="@w";s/ *$/./;substr($_,57)='...'if length>60;$q=@x=/ \S(?!\.\.$)/g;@w&&printf@w.":^I$_
%*s:^I"."%-*s"x($q+1)."
",map{(!$n++||!$q--||1+length,(@x=/[aeiouy]/ig).'/'.s/\w//g)}$r,@w}split/\.\s+/ |
| 241.20 | Petri Mikkelä | Fri Jun 7 22:58:16 2002 | -n map{$j++;$k+=@x=/\w/g;$n+=@p=/[aeiouy]/ig;($l,$m,$q)=map{y///c}$c,$_,$w=@p.'/'.@x;$c.=$_.$".$"x($q-=$m);substr($c,57)='...'if$m+$l>60;$g.="$w ".$"x-$q if$l<57||/\./&&$m+$l<61;s|\.|$_="$j:^I$c
$n/$k:^I$g
";s: *
:
:g;print;reset'b-z'|e}/\S+/g
|
| 241.20 | Benoît Chauvet | Tue Jun 4 12:19:54 2002 | -n056a sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map{$"x length|p}grep{shift@z<57||$z<62}@w=map{/\./ or$_.=$"x(2-/../-/.../);push@z,$z++;$z+=length;$_}grep/\w/,@F;$p=p$_="@w";s/(.{57})....+/$1.../;$_=@w.":^I$_
$p:^I@v
";s/ +$//g;@w&&print;$z=0 |
| Unstoppable :) | |||
| 241.32 | Alain "TopMach" Dupuis | Wed Jun 5 17:39:42 2002 | -0 for(<>=~/[^.]+/g){my(@r,$p,$t,$v);$_.=' 'x(3-length),$t+=$e=()=/\w/g,$v+=$@=y/aeiouyAEIOUY//."/$e",$p.="$_ ",s/./ /g,$i=push@r,$_|"$@"for/\S+/g;$_=$p;s/ +$//;s/(.{57})...+/$1../;$#r=(()=/\w+/g)-1;"@r"=~/ *$/;$t&&print"$i:^I$_.
$v/$t:^I$`
"} |
| 242.17 | Peter Haworth | Fri Jun 7 17:22:37 2002 | -ap056 $W=$N=$C=$V='';$w=@F;for(@F){$C+=$c=()=/\w/g;$V+=$v=()=/[aeiouy]/gi;$W.="$_ ";$N.="$v/$c ";($_|=$N^$N^$W^$W)=~y/\0/ /for$W,$N}$_=$W;s/ +$//;s/(.{57})....+/$1.../;$n=()=/\s[^\s.]/g;$N=~s/(\S+( +\S+){$n}).*/$1/;$_=$N&&"$w:^I$_
$V/$C:^I$N
" |
| There must be better ways of reducing characters than realising how stupid the previous submission was. I wish I could think of a new algorithm | |||
| 242.22 | Prakash Kailasa | Thu Jun 6 05:30:44 2002 | -lan056 map($_=/...+/?$_:pack('A3',$_),@F[-@F..-2]),$_="@F",s/(.{57})...+/$1../,@_=/[-\w']+/g,$V=$T=0,@F=(map{$_=lc,$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g;pack'A'.(/...+/?y///c:3),"$v/$t"}@F)[0..$#_],$F[-1]=~s/ +//,print"$n:^I$_.
$V/$T:^I@F"if$n=@F |
| Please ignore my previous submission, which scored 250 (probably due to the TAB char converted to spaces during copy-n-paste). Hope this one will be ok. | |||
| 242.22 | Guillermo Sansovic | Tue Jun 4 03:13:25 2002 | sub c{0+s/[aeiouy]/$&/gi.'/'.y/a-zA-Z0-9//}sub p{s/ +$//;print"@_:^I$_
"}$/='.';for(<>){$x=split||next;@s=map sprintf("%-3s",$_),@_;$w=c;$_="@s";s/(.{57}).{3,}\S/$1.../;p$x;@c=map sprintf("%-".(length)."s",c),@s[0..-1-/ \./+split];$_="@c";p$w}
|
| 243.26 | Scott Hall | Wed Jun 5 05:32:44 2002 | -nla0056 if($h=pop@F){my$f;$f.="%-".(length>2?length:3)."s "for@F;push@F,$h;print@F.":^I",map{$s=s/(.{57})....+/$1.../;$_}sprintf"$f%s.",@F;map{$s&&s/(^I.*?.{56}) ..+/$1/;s/ *$//;print}sprintf "%s:^I$f%s",map{y/aeiouyAEIUOY//."/".s/\w//gi}$_,@F} |
| 244.19 | pom | Sat Jun 1 16:25:26 2002 | -ln0777 map{$p=$V=$L=@C=();$_=join$",map{$q=$p;$V+=$v=lc=~y/aeiouy//;$L+=$l=y/0-9A-z//;$p=y///c-length($k="$v/$l");push@C,$"x$q.$k;$"x-$q.$_}@s=/\S+/g;s/(.{57}).{4,}/$1.../;$k=@S=split;print@s.":\t$_\n$V/$L:\t@C[0..$k-$S[--$k]!~/\w/]"}/.+?\./gs |
| 244.22 | David Lowe | Thu Jun 6 08:50:37 2002 | -na map{$J+=$j=lc=~y#aeiouy##;$K+=$k=y#"-/:-@##c;$m=($s=/\./)?0:y###c>3?y###c:3;push@{--$|},$_.$"x($m- y###c)for$_,"$j/$k";if($s){$B="@0";($D="@1")=~s/(.{57})....+/$1.../&&$B=~s/(.{0,56}\S+).*/$1/;print+@0.":\t$D
$J/$K:\t$B
";$J=$K=@0=@1=()}}@F |
| 244.22 | Guillermo Sansovic | Tue Jun 4 01:38:16 2002 | sub c{0+s/[aeiouy]/$&/gi.'/'.y/a-zA-Z0-9//}sub p{s/ +$//;print"@_:^I$_
"}$/='.';for(<>){$x=split||next;@s=map sprintf("%-3s",$_),@_;$w=&c;$_="@s";s/(.{57}).{3,}\S/$1.../;p$x;@c=map sprintf("%-".(length)."s",&c),@s[0..-1-/ \./+split];$_="@c";p$w}
|
| 245.20 | Marko Nippula | Tue Jun 4 08:30:35 2002 | -an056 if(@F){@X=map{sprintf"%-3s",$_}@F;$_="@X";s/(.{57})(.{3,})\S/$1^I$2/g;@Z=split(/^I.*$| (?=\S)/,$_);@G=map{$r=s/\w/\l$&/g;sprintf"%-".y///c."s",y/aeiouy//."/$r"}$_,@X;$#G=@Z;$_=($x=@X)." @Z".(/^I/?"...":$Q)."
@G
";s/\s+(.*?) *
/:^I$1
/g;print} |
| First solution. Seems a little bit redundant, let's see how much I can optimize this later on... | |||
| 245.22 | Guillermo Sansovic | Mon Jun 3 23:04:47 2002 | $/='.';for(<>){$x=split||last;$c=$s="";$c.=" "x(length($s)-length$c).&c,$s.=sprintf("%-3s ",$_)for@_;$w=&c;$_=$s;s/ +$//;s/(.{57}).{4,}/$1.../;$n=$x+/ \./-split;$c=~/( +\S+){$n}$/;print"$x:^I$_
$w:^I$`
"}sub c{0+s/[aeiouy]/$&/gi.'/'.y/a-zA-Z0-9//}
|
| 245.23 | seano | Tue Jun 4 11:10:59 2002 | -l $/=$*;sub v{$_=lc;y/aeiouy//.'/'.y/a-z0-9//}map{@p=map{A.length("$_ "|$"x4)}@w=split;$g=v;$i=($w=pack"@p",@w)=~s|^(.{57})...+\S.*|$1...|?56:60;$_=pack"@p",map{v}@w;s/^(.{0,$i}\S+).*/:\t$w\n$g:\t$1/;s/ *$//m;@w&&print@w.$_}split/(?<=\.)\W+/,<>
|
| Eliminated a couple useless regex modifiers. "Moving up fast," says the ref, but I'm still nearly 100 strokes behind the aliens... At my current rate, that's 100 more submissions. | |||
| 245.26 | Scott Hall | Wed Jun 5 04:50:02 2002 | -nla0056 if($h=pop@F){my$f;map$f.="%-".(($l=length)<3?3:$l)."s ",@F;print push(@F,$h),":^I",map{$s=s/(.{57})....+/$1.../;$_}sprintf"$f%s.",@F;map{$s&&s/(^I.*?.{56}) ..+/$1/;s/ *$//;print}sprintf "%s:^I$f%s",map{y/aeiouyAEIUOY//."/".s/\w//gi}$_,@F} |
| 246.17 | Michael Thelen | Tue Jun 4 00:20:31 2002 | undef$/;for(<>=~/\G(.*?\.)/sg){$V=$T=$p=$q=$s='';$V+=$v=@v=/[aeiouy]/ig,$T+=$t=@t=/\w/g,$x=$p=~y///c-length$q,$p.=$"x-$x.$s.$_,$q.=$"x$x.$s."$v/$t",$s=$"for@w=split;$p=~s/(.{57}).{4,}/$1.../&&$q=~s/(.{0,56}\S+).*/$1/;print$z=@w,":^I$p
$V/$T:^I$q
"} |
| Switched to postfix 'for', replaced \t with tabs, more shaving. | |||
| 246.19 | Benoît Chauvet | Tue Jun 4 08:38:58 2002 | -n056a sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map{$"x length|p}grep{shift@z<57||$z<62}@w=map{$_.=$"x(!/\./&&!/../+!/.../);push@z,$z++;$z+=length;$_}grep/\w/,@F;$_="@w";$p=p;62>$z||s/(.{57}).*/$1.../;$_=@w.":^I$_
$p:^I@v
";s/ +$//g;@w&&print;$z=0 |
| 246.28 | Andrew Savige | Sun Jun 2 04:11:28 2002 | -n056 $t=$s=@n=();$x=$y=v9;
$l=y,,,c,$t+=$v=y,aeiouyAEIOUY,,,$s+=$c=y,a-zA-Z0-9,,,
$z="$v/$c",$_=$x.$_,$x=$"x(3-$l),
push(@n,$y.$z),$y=$"x($l-length$z)for@x=/\S+/g;
$_="@x";s;(?<=.{58})....+;...;;@x&&print~~@x,":$_
$t/$s:@n[0..(@==/[^. ]+/g)-1]
"
|
| 246.30 | Rick Klement | Sat Jun 1 06:07:21 2002 | -0p sub c{y/aeiouyAEIOUY//."/".(()=/[^\W_]/g)}$_ x=/\./;s!\s*(.*?)\.\s*!$_=$1;$n=split;@c=map{c.$"x(y///c-length c)}map$_.=$"x(3-length),@_;$_[-1]=~y/ //d;($a="@_.")=~s/(.{57}).{4,}/$1.../;$#c=-1+split' ',$1;$c[-1]=~y/ //d;"$n:^I$a
".c.":^I@c
"!sge |
| tabs test | |||
| 247.21 | David Lowe | Thu Jun 6 08:29:00 2002 | -na map{$J+=$v=lc=~y#aeiouy##;$K+=$l=y#"-/:-@##c;$m=($s=/\./)?0:y###c>3?y###c:3;push@{--$|},sprintf"%-*s",$m,$_ for$_,"$v/$l";if($s){$B="@0";($D="@1")=~s/(.{57})....+/$1.../&&$B=~s/(.{0,56}\S+).*/$1/;print+@0.":\t$D
$J/$K:\t$B
";$J=$K=@0=@1=()}}@F |
| only 100 strokes behind! woo hoo! | |||
| 247.22 | Guillermo Sansovic | Mon Jun 3 12:51:24 2002 | $/='.';for(<>){$x=split||last;$c=$s="";$c.=" "x(length($s)-length$c).&c,$s.=sprintf("%-3s ",$_)for@_;$w=&c;$_=$s;s/ +$//;s/(.{57}).{4,}/$1.../;$n=-1-/ \./+split;$c=~/(\S+ +){$n}\S+/;print"$x:^I$_
$w:^I$&
"}sub c{0+s/[aeiouy]/$&/gi.'/'.y/a-zA-Z0-9//}
|
| 247.23 | Honza Pazdziora | Wed Jun 5 12:16:56 2002 | -056n sub d{y!aeiouyAEIOUY!!.'/'.s!\w!$&!g}my($m,$p,$x);for(/(\S+)/g){$m++;$x.=$c=sprintf'%-*s ',length,d;$p.=sprintf'%-*s',length$c,$_}$p=~s/\s+$//;$p=~s/(.{57})....+/$1.../and$x=~s/((.{56}).*?) .*/$1/;$x=~s/\s+$//;print"$m:\t$p
@{[d]}:\t$x
"if$m |
| 247.26 | Mtv Europe | Sat Jun 1 15:54:18 2002 | -ap056 $B=$A=':^I';$B{$_}=1*s/[aeiouy]/$&/ig.'/'.1*s/\w/$&/gfor$_,@F;$A.=$"x((($C=($D=length$A)>($E=length$B)?$D:$E)+=$D>2)-$D).$_,$B.=$"x($C-$E).$B{$_}for@F;pos$B=59;$A=~s/(.{59})....+/$1.../&&$B=~s/\s+\G.*|\G(\S+).*/$1/;$_=@F?@F."$A
$B{$_}$B
":'' |
| back my 6th place | |||
| 247.36 | Bjørn Hee | Tue Jun 4 22:07:07 2002 | sub a{y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//}for(map{/\S+/g}<>){$b++;$_.=$".$"x(3-length);$c.=a.$"x(y///c-length a);$_=($d.=$_);if(/\./){s/ *$//;s/(.{57}).{4,}/$1.../;/\S+ ?\./;$e=length$`;$c=~/.{$e}\S+/;print"$b:\t$_
".a($_=$d).":\t$&
";$b=$c=$d=''}} |
| 248.16 | Peter Haworth | Fri Jun 7 15:09:18 2002 | -ap056 $W=$N=$C=$V='';$w=@F;for(@F){$C+=$c=()=/\w/g;$V+=$v=()=/[aeiouy]/gi;$W.="$_ ";$N.="$v/$c ";($_|=$N^$N^$W^$W)=~y/\0/ /for$W,$N}$W=~s/ +$//;$W=~s/(.{57})....+/$1.../;$n=()=$W=~/\s[^\s.]/g;$N=~s/(\S+( +\S+){$n}).*/$1/;$_=$N&&"$w:^I$W
$V/$C:^I$N
" |
| This passes the test program, and I didn't agree with the refs comments on the previous attempt. Can I see an example of wrong output if this one doesn't work? | |||
| 248.18 | Benoît Chauvet | Tue Jun 4 08:12:28 2002 | -ln056a sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map{$"x length|p}grep{shift@z<57||$z<61}@w=map{$_.=$"x(@z+1^@F&&!/../+!/.../);push@z,$z;$z+=1+length;$_}grep/\w/,@F;$_="@w";$p=p;61>$z||s/(.{57}).*/$1../;$_=@w.":^I$_.
$p:^I@v";s/ +$//g;@w&&print;$z=0 |
| So simple when you find why you wasted 3 strokes ! :) | |||
| 248.22 | seano | Tue Jun 4 09:57:27 2002 | -l $/=$*;sub v{$_=lc;y/aeiouy//.'/'.y/a-z0-9//}map{@p=map{A.length("$_ "|$"x4)}@w=split;$g=v;$i=($w=pack"@p",@w)=~s|^(.{57})...+\S.*|$1...|?56:60;$_=pack"@p",map{v}@w;s/^(.{0,$i}\S*).*/:\t$w\n$g:\t$1/;s/\s*$//gm;@w&&print@w.$_}split/(?<=\.)\W+/m,<>
|
| 249.21 | Prakash Kailasa | Wed Jun 5 14:24:50 2002 | -ln056 s/^ +| +$//g,($S=$_)=~s/(.{57})...+/$1../,$V=$T=0,s!\S+ *!$_=lc$&,$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g,pack'A'.(/...+/?y///c:3),"$v/$t"!eg,@_=$S=~/\w+/g,print"$n:^I$S.
$V/$T:^I",(/ *\S+/g)[0..$#_]if s/\s+/ /g,$n=s!\S+!$&=~/...+/?$&:pack'A3',$&!eg |
| Hope the lines don't get broken up in wrong places. | |||
| 249.27 | Yanick Champoux | Mon Jun 3 23:42:37 2002 | -p056 sub
t{local$_=lc
pop;y/aeiyou//.'/'.(@a=/\w/g)}$w=t$y=$_=join$",map{sprintf"%-3s",$_}@q=split;$y=~s#\S..?\S*#sprintf"%-@{[length$&]}s",t$&#eg;s/ +$//;$_="$&..."if/.{1,57}/,3<length$';$x=@a=/\w\S*/g;$y=~/( *\d+\/\d+){$x}/;$_&&=@q.":^I$_
$w:^I$&
" |
| Strokes, strokes everywhere A painful dead-end on a painful script Strokes, strokes everywhere And the program barely shrinked... | |||
| 250.18 | RRBuonanno | Tue Jun 4 05:04:30 2002 | -0 map{($z,@c)=map{sprintf"%-*s",length,(@x=/[aeiouy]/ig).'/'.(@x=/\w/g)}$_,@w=split;$_=sprintf"%-3s "x@w,@w;s/ *$//;substr($_,57)='...'if length>60;$z=~s/ //g;$_=@w.":^I$_
$z:^I@c[0..($q=@x=/ \S(?!\.\.$)/g)]
",s/ *$//gm;@w&&print}split/(?<=\.)\s+/,<>; |
| A bit like applying an olive press to alphabet soup, don't you think? | |||
| 250.25 | Amir Karger | Tue Jun 4 15:02:07 2002 | -p056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}
sub p{sprintf"%-*s",$m*!/\.$/,pop}
split||exit;
$x=$w=$"="";
map{$m=($l=length)>3?$l+1:4;$x.=p$_;$_=p g}@_;
$x=~s/(.{57})....+/$1.../;
$w=$x=~s/ +[^.]/$&/g;
$_=g.":\t@_[0..$w]";
s/ +$//;
$_=@_.":\t$x\n$_\n" |
| Mostly excess parens & things. I'm starting to use $_ for a LOT of things here! | |||
| 250.27 | Yanick Champoux | Mon Jun 3 22:07:40 2002 | -p056 sub
t{local$_=lc
pop;y/aeiyou//.'/'.(@a=/\w/g)}$w=t$y=$_=join$",map{sprintf"%-3s",$_}@q=split;$y=~s#\S..?\S*#sprintf"%-@{[length$&]}s",t$&#eg;s/ +$//;/.{1,57}/;$_="$&..."if
3<length$';$x=@a=/\w\S*/g;$y=~/( *\d+\/\d+){$x}/;$_&&=@q.":^I$_
$w:^I$&
" |
| Considering that Eugene is almost 100 strokes ahead, I must say that I'm tempted by a nervous breakdown... | |||
| 251.17 | Benoît Chauvet | Mon Jun 3 15:59:48 2002 | -ln056a sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map{$"x length|p}grep{shift@z<57||$z<61}@w=map{$_.=$"x(@z+1^@F&&!/../+!/.../);push@z,$z;$z+=1+length;$_}grep/\w/,@F;$_="@w";$p=p;61>$z||s/(.{57}).*/$1../;$_=@w.":\t$_.\n$p:\t@v";s/ +$//g;@w&&print;$z=0 |
| Ooops, forgot a newline. ;) | |||
| 251.18 | David Lowe | Thu Jun 6 07:38:15 2002 | -na map{$J+=$v=lc=~y#aeiouy##;$K+=$l=y#"-/:-@##c;$b="$v/$l";$d=$_;$s=/\./?'':$";$$_.=sprintf"%-*s$s",$s?($n=length$d)>3?$n:3:0,${+lc}for D,B;if(++$Z,!$s){$D=~s/(.{57})....+/$1.../&&$B=~s/(.{0,56}\S+).*/$1/;print"$Z:\t$D
$J/$K:\t$B
";$$_=''for B..Z}}@F |
| aaaaaaaaaaaagh | |||
| 251.27 | Sander Brandenburg | Mon Jun 3 15:22:24 2002 | -na056 ~~@F||next;$r=$s=0;$t=join$",map{$r+=$a=@x=/[aeiouy]/gi;$s+=$b=@y=/\w/g;s/$/ /while 3>length;pack"A".length,"$a/$b"}@F;$_=join$",@F;s/\s+$//;s/^(.{57}).{4,}$/$1.../;$t=~s/\s+\S*$//while(2+rindex$t,$")>index$_,$/;print~~@F.":\t$_\n$r/$s:\t$t\n"; |
| 251.30 | Keith Calvert Ivey | Sat Jun 1 13:51:05 2002 | -p056 sub c{y/aeiouy//.'/'.y/a-z0-9//}$n=@a=split;$o=c
for lc;$_.=$"x(3- y///c)for@a;($s,$t)="@a";$e=$s=~s/(.{57})....?.?\S.*/$1/;$t.=sprintf"%-*s ",y///c>2?y///c:3,c while$_=lc
shift@a,$s=~/\S+/g;$_="$n:^I$s".($e&&'...')."
$o:^I$t
";s/ +$//gm;$_ x=!!$n |
| 252.17 | Benoît Chauvet | Mon Jun 3 15:49:40 2002 | -ln056a sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map{$"x length|p}grep{shift@z<57||$z<61}@w=map{$_.=$"x(@z+1^@F&&!/../+!/.../);push@z,$z;$z+=1+length;$_}grep/\w/,@F;
$_="@w";$p=p;61>$z||s/(.{57}).*/$1../;$_=@w.":\t$_.\n$p:\t@v";s/ +$//g;@w&&print;$z=0 |
| I got the -aF way, after all. :) | |||
| 252.23 | seano | Tue Jun 4 09:53:31 2002 | -l $/=$*;sub v{$_=lc;y/aeiouy//.'/'.y/a-z0-9//}map{@p=map{A.length("$_ "|$"x4)}@w=split;$g=v;$i=($w=pack"@p",@w)=~s|^(.{57})...+\S.*|$1...|?56:60;$_=pack"@p",map{v}@w;s/^(.{0,$i}\S*).*/:\t$w\n$g:\t$1/;s/\s*$//gm;print@w.$_}grep/./,split/(?<=\.)\W+/m,<>
|
| 253.20 | Eike Grote | Tue Jun 4 13:37:10 2002 | -ln for(split" "){$t++;$q+=@v=/[aeiouy]/ig;$r+=@c=/[a-z\d]/ig;$w=($n=length($p.=$_))-length($s.=@v."/".@c.$");if(/\.$/){$s=~s/(.{56,}?) .*/$1/,substr($p,57)='.'x3if$n>60;$s=~s/ +$//;print"$t:^I$p
$q/$r:^I$s";$$_=''for(p..t);next}$s.=$"x++$w,$p.=$"x-$w.$"} |
| 253.32 | Alain "TopMach" Dupuis | Tue Jun 4 12:58:09 2002 | -0 for(<>=~/[^.]+/g){my(@r,$p,$t,$v);$_.=' 'x(3-length),$t+=$e=()=/\w/g,$v+=$@=y/aeiouyAEIOUY//."/$e",$@.=' 'x(y///c-length$@),$p.="$_ ",$i=push@r,$@for/\S+/g;$_=$p;s/ +$//;s/(.{57})...+/$1../;$#r=(()=/\w+/g)-1;"@r"=~/ *$/;$t&&print"$i:^I$_.
$v/$t:^I$`
"} |
| 255.18 | Sec | Thu Jun 6 23:21:29 2002 | -ap056 $_=$v=$:=$x=$m=$p="";if(@r=map{$_.=$"x(3*!/\./-length);$:||=$p-($v>56)-($v>60)if(60-$v<($-=length));$p++;$v+=1+$-;$m+=@D=/\w/g;$x+=@C=/[aeiouy]/ig;sprintf"%-$-s",@C."/".@D}@F){$#r=$:if$:;$_="@F";s/(.{57})....+/$1.../;$_="$p:^I$_
$x/$m:^I@r
";s/ +$//}
|
| Compress in golfish-one-line-style. This change is courtesy of perltidy --mangle|perl -pe 's/;}/}/g;s/;\n/;/; Automating this step allows me to continue working on the more-sane-looking version. | |||
| 256.16 | Michael Thelen | Mon Jun 3 22:51:56 2002 | undef$/;for(<>=~/\G(.*?\.)/sg){$V=$T=$x=$p=$q=$s='';for(@w=split){$V+=$v=@v=/[aeiouy]/ig;$T+=$t=@t=/\w/g;$f="$v/$t";$p.=$"x-$x.$s.$_;$q.=$"x$x.$s.$f;$x=y///c-length$f;$s=$"}$p=~s/(.{57}).{4,}/$1.../&&$q=~s/(.{0,56}\S+).*/$1/;print$z=@w,":\t$p
$V/$T:\t$q
"} |
| Reduced the code that deals with handling '...' | |||
| 256.19 | Eike Grote | Tue Jun 4 12:40:13 2002 | -ln for(split/ +/){$t++;$q+=@v=/[aeiouy]/ig;$r+=@c=/[a-z\d]/ig;$w=($n=length($p.=$_))-length($s.=@v."/".@c.$");if(/\.$/){$s=~s/(.{56,}?) .*/$1/,substr($p,57)='.'x3if$n>60;$s=~s/ +$//;print"$t:\t$p
$q/$r:\t$s";$$_=''for(p..t);next}$s.=$"x++$w,$p.=$"x-$w.$"} |
| 256.21 | Guillermo Sansovic | Sun Jun 2 19:31:35 2002 | $/='.';for(<>){/\S/||last;$c=$s="";$x=split;$c.=" "x(length($s)-length$c).&c,$s.=sprintf("%-3s ",$_)for@_;$w=&c;$_=$s;s/ *$//;s/(.{57}).{4,}/$1.../;$n=-1-/ \.{3}/+split;$c=~/(\S+\s+){$n}\S+/;print"$x:^I$_
$w:^I$&
"}sub c{0+s/[aeiouy]/$&/gi.'/'.y/a-zA-Z0-9//}
|
| 256.30 | Alain "TopMach" Dupuis | Tue Jun 4 12:01:16 2002 | -0 for(<>=~/[^.]+/g){my(@r,$p,$t,$v);for(/\S+/g){$_.=' 'x(3-length);$t+=$e=()=/\w/g;$v+=$f=y/aeiouyAEIOUY//."/$e";$f.=' 'x(y///c-length$f);$p.="$_ ";$i=push@r,$f}$_=$p;s/ +$//;s/(.{57})...+/$1../;$#r=(()=/\w+/g)-1;"@r"=~/ *$/;$t&&print"$i:^I$_.
$v/$t:^I$`
"} |
| 256.30 | Jay Tilton | Wed Jun 5 22:44:13 2002 | $/='.';sub c{local$_=lc;y/aeiouy//.'/'.y/a-z0-9//}while(<>){$w=split||next;($x,$y)=();map{$x.=$_.$";$y.=&c.$";($d=length($x)-length$y)>0?$y:$x.=$"x abs$d}@_;$x=~s/(.{57})..[^\.]..+/$1.../&&substr($y,56)=~s/ .*//;s/ +$//for$x,$y;print"$w:\t$x
",&c,":\t$y
"} |
| Futzed with it for hours before getting something that worked at ALL, and it boiled down to this piece of puke. I intensely dislike this hole. Participation was a difficult decision. | |||
| 257.23 | seano | Tue Jun 4 09:31:04 2002 | -l $/=$*;sub v{$_=lc;y/aeiouy//.'/'.y/a-z0-9//}map{@p=map{A.(4>($l=length)?4:1+$l)}@w=split;$g=v;$i=($w=pack"@p",@w)=~s|^(.{57})...+\S.*|$1...|?56:60;$_=pack"@p",map{v}@w;s/^(.{0,$i}\S*).*/@w.":\t$w\n$g:\t$1"/e;s/\s*$//gm;print}grep/./,split/(?<=\.)\W+/m,<>
|
| 258.19 | David Lowe | Thu Jun 6 03:25:37 2002 | -0n sub t{--$|?D:B}map{$$_=''for B..Z;map{$Q+=$q=lc=~y/aeiouy//;$Z+=$z=y#"-/:-@##c;${L.t}=length$$_ for D,B;${+t}.=$"x(${L.t}-${L.t}).($C?$":":\t").$_ for$_,"$q/$z";$D=~s/(.{59})....+/$1.../&&$B=~s/(.{0,58}\S+).*/$1/;++$C}split;print"$C$D
$Q/$Z$B
"}/[^.]*./g |
| 258.20 | Eike Grote | Tue Jun 4 11:42:44 2002 | -ln for(split/ +/){$t++;$q+=@v=/[aeiouy]/ig;$r+=@c=/[a-z\d]/ig;$w=($n=length($p.=$_))-length($s.=@v."/".@c.$");if(/\.$/){$s=~s/(.{56,}?) .*/$1/,substr($p,57)='.'x3if$n>60;$s=~s/ +$//;print"$t:\t$p\n$q/$r:\t$s";$$_=''for(p..t)}else{$s.=$"x++$w,$p.=$"x-$w.$"}} |
| 259.30 | Eugene van der Pijll | Sat Jun 1 02:56:07 2002 | -n056 sub e{1*lc=~y/aeiouy//."/".s/\w/$&/g}if(split){$w=@_;$a=$b='';$a.=$_,$b.=e,$a.=$"x($d=$b=~y///c-length$a).$",$b.=$"x-$d.$"for@_;s/ +$//,s/([^ ].{56}).{4,}/$1/&&($q=split,$b=~s/(([^ ]+ +){$q}).*/$1/e,s/$/.../)for$a;$b=~s/ +$//;print "$w:^I$a
",e,":^I$b
"
} |
| 262.20 | David Lowe | Wed Jun 5 00:21:41 2002 | -nal map{$d+=$v=lc=~y#aeiouy##;$q+=$l=y#"-/:-@##c;$s=/\./?'':$";$G=$_;$n=length($B="$v/$l");$z=y###c;$$_.=sprintf"%-*s$s",$s?$z>$n?$z:$n:0,${+uc}for g,b;if(++$c,!$s){$g=~s#(.{57})....+#$1...#&&$b=~s#(.{0,56}\S+).*#$1#;print"$c:\t$g
$d/$q:\t$b";$$_=''for b..z}}@F |
| 262.26 | Mtv Europe | Sat Jun 1 15:28:20 2002 | -ap056 $B{$_}=1*s/[aeiouy]/$&/ig.'/'.1*s/\w/$&/gfor$_,@F;$B=$A=':^I';$D=length$A,$E=length$B,$C=$D>$E?$D:$E,$C+=$D>2,$A.=$"x($C-$D).$_,$B.=$"x($C-$E).$B{$_}for@F;pos$A=59;pos$B=59;$A=~s/\G....+/.../&&$B=~s/\s+\G.*//||$B=~s/\G(\S+).*/$1/;$_=@F?@F."$A
$B{$_}$B
":'' |
| 1) to run from beginner 2) to test \t 3) panic! | |||
| 262.29 | Alain "TopMach" Dupuis | Tue Jun 4 11:25:03 2002 | -0 for(<>=~/[^.]+/g){my(@r,$p,$t,$v);for(/\S+/g){$_.=' 'x(3-length);$t+=$e=()=/\w/g;$v+=$f=y/aeiouyAEIOUY//."/$e";$f.=' 'x(y///c-length$f);$p.="$_ ";$i=push@r,$f}$_=$p;s/ +$//;s/(.{57})...+/$1../;$#r=(()=/\w+/g)-1;"@r"=~/ *$/;$r=$`;$t&&print"$i:^I$_.
$v/$t:^I$r
"} |
| 263.17 | Benoît Chauvet | Mon Jun 3 15:13:16 2002 | -ln056 sub p{~~s/[ouyaie]/$&/gi."/".s/\w/$&/g}@v=map{$"x length|p}grep{shift@z<57||$z<62}@w=map{$_.=$"x(!/\./*(!/../+!/.../));push@z,$z;$z+=1+length;$_}grep/\w/,split/\s+/,"$_.";$_="@w";$p=p;62>$z||s/(.{57}).*/$1.../;$_=@w.":\t$_\n$p:\t@v";s/ +$//g;@w&&print;$z=0 |
| I messed with the -a and -F cl options ! Soooo stupid ! :) | |||
| 266.17 | Michael Thelen | Mon Jun 3 21:53:48 2002 | undef$/;for(<>=~/\G(.*?\.)/sg){$V=$T=$x=$p=$q=$s='';for(@w=split){$V+=$v=@v=/[aeiouy]/ig;$T+=$t=@t=/\w/g;$f="$v/$t";$p.=$"x-$x.$s.$_;$q.=$"x$x.$s.$f;$x=y///c-length$f;$s=$"}length$p<61or substr($p,57)='.'x3,$q=~s/(.{0,55} \S+).*/$1/;print$z=@w,":\t$p\n$V/$T:\t$q\n"} |
| Removed some duplicated functionality, more stroke shaving. Looking for a hidden breakthrough. | |||
| 266.20 | David Lowe | Wed Jun 5 00:07:12 2002 | -na map{$d+=($v=lc=~y#aeiouy##);$q+=($l=y#"-/:-@##c);$s=/\./?'':$";$G=$_;$n=length($B="$v/$l");$z=y###c;$$_.=sprintf"%-*s$s",$s?$z>$n?$z:$n:0,${+uc}for g,b;if(++$c,!$s){$g=~s#(.{57}).{4,}#$1...#&&$b=~s#(.{0,56}\S+).*#$1#;print"$c:\t$g
$d/$q:\t$b
";$$_=''for b..z}}@F |
| 267.24 | Amir Karger | Tue Jun 4 14:17:18 2002 | -p056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}
sub p{sprintf("%-*s",$m*!/\.$/,$_[0])}
split||exit;
$x=$w=$"="";
map{$m=($l=length)>3?$l+1:4;$x.=p$_;$_=p g}(@_);
$x=~s/(.{57})....+/$1.../;
$w=$x=~s/ +(?!\.+$)/$&/g;
$w="@_[0..$w]";
$w=~s/ +$//;
$_=@_.":\t$x\n".g.":\t$w\n" |
| I'm starting to feel a bit less embarrassed about my score. I fear we're going to need an algorithm change soon, though. | |||
| 268.18 | Eike Grote | Tue Jun 4 09:03:54 2002 | -ln for(split/ +/){$t++;$b+=$v=()=/[aeiouy]/ig;$m+=$c=()=/[a-z\d]/ig;$w=($n=length($p.="$_ "))-length($z.="$v/$c ");$z.=$"x$w,$p.=$"x-$w;if(/\.$/){$z=~s/(.{56}.*?) .*/$1/,substr($p,57)='.'x3if$n>61;$p=~s/ +$//;$z=~s/ +$//;print"$t:\t$p\n$b/$m:\t$z";$p=$z=$t=$b=$m=''}} |
| 268.19 | RRBuonanno | Tue Jun 4 00:23:58 2002 | -0 map{($z,@c)=map{sprintf"%-*s",length,(@x=/[aeiouy]/ig).'/'.(@x=/\w/g)}$_,@w=split;map{$_=sprintf"%-3s",$_}@w[0..@w-2];substr($_,57)='...'if length($_="@w")>60;
$z=~s/ //g;($_=@w.":^I$_
$z:^I@c[0..($q=@x=/ \S(?!\.\.$)/g)]
")=~s/ *$//gm;print if@w}split/(?<=\.)\s+/,<>; |
| OK, I'm confident I got it right this time. :-) But it's still overweight. :-( | |||
| 269.18 | Eike Grote | Tue Jun 4 08:45:47 2002 | -ln for(split/ +/){$t++;$b+=$v=()=/[aeiouy]/ig;$m+=$c=()=/[a-z\d]/ig;$w=($n=length($p.="$_ "))-length($z.="$v/$c ");$z.=$"x$w,$p.=$"x-$w;if(/\.$/){$z=~s/^(.{56}.*?) .*/$1/,substr($p,57)='.'x3if$n>61;$p=~s/ +$//;$z=~s/ +$//;print"$t:\t$p\n$b/$m:\t$z";$p=$z=$t=$b=$m=''}} |
| 269.29 | Alain "TopMach" Dupuis | Mon Jun 3 15:05:14 2002 | -0 for(<>=~/[^.]+/g){my(@r,$p,$t,$v);for(/\S+/g){$_.=' 'x(3-length);$t+=$e=()=/\w/g;$v+=$f=y/aeiouyAEIOUY//."/$e";$f.=' 'x(y///c-length$f);$p.="$_ ";$i=push@r,$f}$_=$p;s/ +$//;/(.{57}).../and$_="$1..";$#r=(()=/\w+/g)-1;$r="@r";$r=~s/ +$//;$t&&print"$i:^I$_.
$v/$t:^I$r
"} |
| This one has all the vowels... lower and upper. :) | |||
| 270.21 | Guillermo Sansovic | Sun Jun 2 18:43:44 2002 | $/='.';for(<>){/\S/||last;$c=$s="";for(split){$c.=" "x(length($s)-length$c).&c;$s.=sprintf("%-3s ",$_)}$s=~s/ *$//;$s=~s/(.{57}).{4,}/$1.../;$n=-1-$s=~/ \.\.\./+split" ",$s;$c=~/(\S+\s+){$n}\S+/;print~~split,":^I$s
",&c,":^I$&
"}sub c{0+s/[aeiouy]/$&/gi.'/'.y/a-zA-Z0-9//}
|
| 270.22 | seano | Tue Jun 4 08:45:53 2002 | -l $/=$*;sub v{(@x=/[aeiouy]/gi).'/'.(@x=/[a-z\d]/gi)}map{$g=v;@p=map{A.(4>($l=length)?4:1+$l)}@w=split;$i=(($w=pack"@p",@w)=~s|^(.{57})...+\S.*|$1...|)?56:60;$_=pack"@p",map{v}@w;s/^(.{0,$i}\S*).*/@w.":\t$w\n$g:\t$1"/e;s/\s*$//gm;print}grep/./,split/(?<=\.)[\s\n]+/m,<>
|
| 270.28 | Yanick Champoux | Mon Jun 3 14:30:28 2002 | -p056 sub
t{local$_=lc
pop;y/aeiyou//.'/'.(@a=/\w/g)}($y=$_=join$",map$_.$"x(3- y///c),split)=~s/\S..?\S*/t($&).($"x(length($&)-length t$&))/eg;s/ +$//;$q=@a=/\S+/g;$w=t$_;/.{1,57}/;$_="$&..."if 3<length($');$x=@a=/\w\S*/g;$y=~/(\s*\d+\/\d+){$x}/;$_="$q:^I$_
$w:^I$&
"if$_ |
| Ah! Benoit, ce gredin, ne me battra point, morbleu! | |||
| 270.29 | Martin Carlsen | Tue Jun 4 12:42:12 2002 | sub c{y/aeiouyAEIOUY//."/".y/a-zA-Z0-9//}$_=join"",<>;s/\s+/ /gs;s/^\s+//;map{@w=split/ /;$x=c;$c=join" ",map{$p=length()-length c;$_.=" "x-$p;c." "x$p}@w;$_=join" ",@w;s/ *$//;s/^(.{57})...+/$1../&&$c=~s/^(.{56}\S*).*/$1/;$c=~s/ *$//;print@w.":^I$_.
$x:\t$c
"}split/\. / |
| 272.23 | Benoît Chauvet | Mon Jun 3 13:48:08 2002 | -aln056F sub p{~~y/ouyaieOUYAIE//."/".s/\w/$&/g}map{@v=map{$"x length|p}grep{shift@z<57||$z<62}@w=map{$_.=$"x(!/\./*(!/../+!/.../));push@z,$z;$z+=1+length;$_}grep/\w/,split/\s+/,"$_.";$_="@w";$p=p;62>$z||s/(.{57}).*/$1.../;$_=@w.":\t$_\n$p:\t@v";s/ +$//g;@w&&print;$z=0}@F |
| I must insist. :( I tested this one on : Windows with Active Perl 5.6.1 Linux RedHat with official Perl 5.6.1 I used the last test script... I'm sure it works ! | |||
| 272.30 | David Lowe | Tue Jun 4 23:56:34 2002 | -na map{$d+=($v=y#aeiouyAEIOUY##);$q+=($l=y#"-/:-@##c);$s=/\./?'':$";$A=$_;$n=length($B="$v/$l");$z=y###c;$$_.=sprintf"%-*s$s",$s?$z>$n?$z:$n:0,${+uc}for a,b;if(++$c,!$s){$a=~s#(.{57}).{4,}#$1...#&&$b=~s#(.{0,56}\d+/\d+).*#$1#;print"$c:\t$a
$d/$q:\t$b
";$$_=''for a..z}}@F |
| 272.31 | Bruce Gray | Tue Jun 4 19:47:02 2002 | -na056 if($c=@F){$^A=$:='';$_.=$"x(3-length)for@F[0..@F-2];$h{$_}=$u=y/AEIOUYaeiouy//.'/'.y/A-Za-z0-9//for@F,lc;$h{$_}.=$"x(length($_)-length$h{$_})for@F;formline'^'.'<'x56 .'...',"@F";$_=$^A;$#F=split;$#F--;/ \.{3}$/&&$#F--;$z="@h{@F}";$z=~s/\s+$//;print"$c:^I$_
$u:^I$z
"} |
| 272.35 | Keith Calvert Ivey | Sat Jun 1 05:09:51 2002 | -n056 $n=@a=split or next;$o=lc=~y/aeiouy//.'/'.lc=~y/a-z0-9//;$_.=$"x(3- y///c)for@a;$s="@a";$e=$s=~s/(.{57})....?.?\S.*/$1/;$t='';$t.=sprintf"%-*s ",y///c>2?y///c:3,y/aeiouy//.'/'.y/a-z0-9//while$_=lc
shift@a,$s=~/\S+/g;$_="$n:^I$s".($e&&'...')."
$o:^I$t
";s/ +$//gm;print |
| It's too late at night to refine this, but it's shorter than Eugene's (the only one on the board), and it finally works. I suspect the rules and test need to include something about the significance of paragraphs, but they don't at the moment. | |||
| 273.34 | Scott Hall | Wed Jun 5 03:43:36 2002 | -nla0056 if($h=pop@F){my$f;map$f.="%-".(($l=length)<3?3:$l)."s ",@F;push@F,$h;print@F.":^I",map({$s=s/(.{57})...+/$1../;$_}sprintf"$f%s",@F),".";$_=sprintf y/aeiouyAEIUOY//."/".s/\w//gi.":^I$f%s",map{y/aeiouyAEIUOY//."/".s/\w//gi}@F;s/(^I.*?.{56}) ..+/$1/ if$s;s/ *$//;print} |
| 274.34 | David Lowe | Tue Jun 4 23:44:24 2002 | -na map{$d+=($v=y#aeiouyAEIOUY##);$e+=($l=y#"-/:-@##c);$z=y###c>($n=length($B="$v/$l"))?y###c:$n;$s=/\./?'':$";$A=$_;$$_.=sprintf"%-*s$s",$s?$z:0,${+uc}for a,b;if(++$c,!$s){$a=~s#(.{57}).{4,}#$1...#&&$b=~s#(.{0,56}\d+/\d+).*#$1#;print"$c:\t$a
$d/$e:\t$b
";$$_=''for a..e}}@F |
| 274.34 | Scott Hall | Wed Jun 5 03:42:25 2002 | -nla0056 if($h=pop@F){my$f;map$f.="%-".(($l=length)<3?3:$l)."s ",@F;push@F,$h;print@F.":\t",map({$s=s/(.{57})...+/$1../;$_}sprintf"$f%s",@F),".";$_=sprintf y/aeiouyAEIUOY//."/".s/\w//gi.":^I$f%s",map{y/aeiouyAEIUOY//."/".s/\w//gi}@F;s/(^I.*?.{56}) ..+/$1/ if$s;s/ *$//;print} |
| 276.27 | Yanick Champoux | Mon Jun 3 13:42:56 2002 | -p056 sub
t{local$_=lc
pop;y/aeiyou//.'/'.(@a=/\w/g)}($y=$_=join$",map$_.($"x(3- y///c)),split)=~s/\S..?\S*/t($&).($"x(length($&)-length t($&)))/eg;s/ +$//;$q=@a=/\S+/g;$w=t$_;/.{1,57}/||next;$_="$&..."if 3<length($');$x=@a=/\w\S*/g;$y=~/(\s*\d+\/\d+){$x}/;$_="$q:^I$_
$w:^I$&
" |
| There must be a way to change all of this goodle for some sprintf formatting... | |||
| 276.34 | David Lowe | Tue Jun 4 22:57:59 2002 | -na map{$d+=($v=y#aeiouyAEIOUY##);$e+=($l=y#a-zA-Z0-9##);$z=y###c>($n=length($B="$v/$l"))?y###c:$n;$s=/\./?'':$";$A=$_;$$_.=sprintf"%-*s$s",$s?$z:0,${+uc}for a,b;if(++$c,!$s){$a=~s#(.{57}).{4,}#$1...#&&$b=~s#(.{0,56}\d+/\d+).*#$1#;print"$c:\t$a
$d/$e:\t$b
";$$_=''for a..e}}@F |
| 277.23 | Honza Pazdziora | Wed Jun 5 11:52:15 2002 | -056n sub d{return y!aeiouyAEIOUY!!.'/'.s!\w!$&!g for@_}my($m,$p,$x);for(/(\S+)/g){$m++;$x.=$c=sprintf'%-*s ',length,d$_;$p.=sprintf'%-*s ',length($c)-1,$_ }$p=~s/\s+$//;$p=~s/(.{57}).{4,}/$1.../and$x=~s/((.{56}).*?) .*/$1 /;$x=~s/\s+$//;print$m,":\t$p\n",d($_),":\t$x\n"if$m |
| 277.23 | Damien Neil | Fri Jun 7 23:08:36 2002 | -n0 sub X{local$_=lc$_[0];y/aeiouy/a/."/".y/a-z0-9/b/}for(split/(?<=\.)\s*/){$o=X $_
;$c=s/\s*(\S+)/sprintf"%-3s ",$1/ge;($x=$_)=~s/\S+\s*/sprintf"%*s",$-[0]-$+[0],X
($&)/ge;s/(.{57})...+\S/$1.../&&$x=~s/(.{57})(?<= )\S.*/$1/;for($_,$x){s/\s*$//}
$c&&print"$c:\t$_\n$o:\t$x\n"} |
| 278.16 | Mtv Europe | Sat Jun 1 08:40:18 2002 | -lp056 split||exit;$v{$_}=1*s/[aeiouy]/$&/ig.'/'.1*s/\w/$&/gfor$_,@_;$v=$n=":\t";$N=length$n,$V=length$v,$M=$N>$V?$N:$V,$M+=$N>2,$n.=$"x($M-$N).$_,$v.=$"x($M-$V).$v{$_}for@_;$n.='.';pos$n=59;pos$v=59;$n=~s/\G....+/.../&&$v=~s/\s+\G.*//c||$v=~s/\G(\S+).*/$1/;$_=@_."$n\n$v{$_}$v" |
| 278.35 | David Lowe | Tue Jun 4 22:54:10 2002 | -na map{$d+=($v=y#aeiouyAEIOUY##);$e+=($l=y#a-zA-Z0-9##);$z=y###c>($n=length($B="$v/$l"))?y###c:$n;$s=/\./?'':$";$A=$_;$$_.=sprintf"%-*s$s",$s?$z:0,${+uc}for a,b;if(++$c,!$s){$b=~s#(.{0,56}\d+/\d+).*#$1# if$a=~s#(.{57}).{4,}#$1...#;print"$c:\t$a
$d/$e:\t$b
";$$_=''for(a..e)}}@F |
| 279.27 | Yanick Champoux | Mon Jun 3 12:01:56 2002 | -p056 sub t{local$_=lc
pop;y/aeiyou//.'/'.(@a=/\w/g)}($y=$_=join$",map$_.($"x(3- y///c)),split)=~s/\S..?\S*/t($&).($"x(length($&)-length t($&)))/eg;s/\s+$//;$q=@a=/\S+/g;$w=t($_);/.{1,57}/||next;$_="$&..."if 3<length($');$x=@a=/\w\S*/g;$y=~/(\s*\d+\/\d+){$x}/;$_="$q:^I$_
$w:^I$&
" |
| 280.26 | Guillermo Sansovic | Sun Jun 2 17:31:28 2002 | $/='.';for(<>){/\S/||last;$c=$s="";for(split){$c.=" "x(length($s)-length$c).&c;$s.=sprintf("%-3s ",$_)}$s=~s/ *$//;$s=~s/(.{57}).{4,}/$1.../;$n=-1-$s=~/ \.\.\./+split" ",$s;$c=~/(\S+\s+){$n}(\S+)/;print~~split,":^I$s
",&c,":^I$&
"}sub c{($w=$_)=~y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//;} |
| 281.39 | Eike Grote | Tue Jun 4 07:25:37 2002 | -ln for(split/ +/){$y++;$a+=$v=()=/[aeiouy]/ig;$e+=$c=()=/[[:alnum:]]/g;$i=length($t.="$_ ");$o=length($u.="$v/$c ");$u.=$"x($i-$o),$t.=$"x($o-$i);if(/\.$/){$u=~s/^(.{56}.*?) .*/$1/,substr($t,57)='...'if$i>61;$t=~s/ +$//;$u=~s/ +$//;print"$y:\t$t\n$a/$e:\t$u";$t=$u='';$y=$a=$e=0}} |
| Second try of submitting this one-liner... | |||
| 282.24 | Honza Pazdziora | Tue Jun 4 18:24:13 2002 | -056n sub d{return y!aeiouyAEIOUY!!.'/'.y!a-zA-Z0-9!!for@_}$m=0;$p=$x='';for(/(\S+)/g){$m++;$x.=$c=sprintf'%-*s ',length,d$_;$p.=sprintf'%-*s ',length($c)-1,$_;}$p=~s/\s+$//;$p=~s/(.{57})....+/$1.../and$x=~s/((.{56}).*?) .*/$1 /;$x=~s/\s+$//;print $m,":\t$p\n",d($_),":\t$x\n"if$m |
| 285.48 | Scott Hall | Tue Jun 4 20:33:01 2002 | -nla0056 y/
/ /s;$v=y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//;s/(^| )\S/ @/g;y/ .@/</c;s/@<? (?!$)/@<< /g;s/ *//;if(@F){formline@F.":^I$_.
$v:^I$_<<",@F,map{y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//}@F;$^A=~s/(^I.{57})....+(?=
.)/$1.../;$^A=~s/(\.{3}
.+^I.*?.{56}) ..+/$1/;$^A=~s/ *$//;print$^A;$^A=''} |
| 286.23 | pom | Sat Jun 1 14:33:38 2002 | -ln0777 map{if(@s=/\S+/g){$V=$L=@S=@C=();map{$V+=$v=y/aeiouyAEIOUY//;$L+=$l=y/a-zA-Z0-9//;$p=y///c-length($k="$v/$l");push@S,$_.$"x-$p;push@C,$k.$"x$p}@s;$_="@S";s/\s*$/./;s/(.{57}).{4,}/$1.../;$k=@S=split;($c="@C[0..$k-$S[--$k]!~/\w/]")=~s/\s*$//;print@s.":\t$_\n$V/$L:\t$c"}}split/\./ |
| Whew, under the 300 mark! | |||
| 286.38 | Martin Carlsen | Sun Jun 2 10:28:42 2002 | sub o{y/aeiouyAEIOUY//."/".y/a-zA-Z0-9//}$_=join"",<>;s/\s+/ /gs;s/^\s*//s;map{@e=split/ /;$i=o;$o=join" ",map{o." "x(length()-length(o))}@e;s/(?<= )(\S) /$1
/g;s/(?<= )(\S\S) /$1 /g;s/^(.{57})...+/$1../&&$o=~ s/^(.{56}\S*).*/$1/;$o=~ s/ *$//;print@e.":\t$_.\n$i:\t$o\n"}split/\.\s*/ |
| 287.19 | Benoît Chauvet | Mon Jun 3 08:16:10 2002 | -aln056F sub p{$x=lc;~~$x=~y/ouyaie//."/".$x=~y/a-z0-9//}map{@v=map{$"x length|p}grep{shift@z<57||$z<62}@w=map{$_.=$"x(!/\./*(!/../+!/.../));push@z,$z;$z+=1+length;$_}grep/\w/,split/\s+/,"$_.";$_="@w";$p=p;61>length||s/(.{0,57}).*/$1.../;$_=@w.":\t$_\n$p:\t@v";s/ +$//g;@w&&print;$z=0}@F
|
| Under the 300 stokes limit. Yes ! Yes ! Yes ! :) | |||
| 287.27 | Bruce Gray | Tue Jun 4 02:32:01 2002 | -na056 if(/\S/){$_.=$"x(3-length)for@F[0..$#F-1];$h{$_}=$u=y/AEIOUYaeiouy//.'/'.y/A-Za-z0-9//for@F,$_;$h{$_}.=$"x(length($_)-length$h{$_})for@F;$_="@F";$c=@F;if(length>60){$#F--while length"@F[0..$#F-1]">55;$_="@F ";substr($_,57)='...'}s/\s+$//for$_,$h{$F[-1]};print"$c:^I$_
$u:^I@h{@F}
"} |
| 288.34 | David Lowe | Tue Jun 4 04:22:06 2002 | -na map{$d+=($v=y#aeiouyAEIOUY##);$e+=($l=y#a-zA-Z0-9##);$z=y###c>($n=length($B="$v/$l"))?y###c:$n;$s=/\./?'':$";$A=$_;$$_.=sprintf"%-*s$s",$s?$z:0,${+uc}for a,b;if(++$c,!$s){$a=~s#(.{57}).*#$1...#,$b=~s#(.{0,56}\d+/\d+).*#$1# if length$a>60;print"$c:\t$a
$d/$e:\t$b
";$$_=''for(a..e)}}@F |
| 289.21 | Michael Thelen | Mon Jun 3 20:45:36 2002 | undef$/;for(<>=~/\G(.*?\.)/sg){$V=$T=$x=$p=$q=$i='';for(@w=split){$V+=$v=@v=/[aeiouy]/ig;$T+=$t=@t=/\w/g;$f="$v/$t";$p.=$",$q.=$"if$i;($x<0?$p:$q).=$"x abs$x;$p.=$_;$q.=$f;$x=y///c-$f=~y///c;$i++}length$p<61or substr($p,57)='...',$q=~s/(.{0,55} \S+).*/$1/;print$z=@w,":\t$p\n$V/$T:\t$q\n"} |
| More incremental gains. | |||
| 290.21 | seano | Tue Jun 4 07:35:09 2002 | -l $/="";sub v{(@x=/[aeiouy]/gi).'/'.(@x=/[a-z\d]/gi)}map{($g,$p)=v;$_=pack$p,map{$p.=A.++(($l=length)>($L=length($v=v))?$l:$L);$v}@w=split;$i=(($w=pack$p,@w)=~s/^(.{57})...+\S.*/$1.../)?56:60;s/^(.{$i}\S*).*/$1/gm;($_=@w.":\t$w\n$g:\t$_")=~s/\s*$//gm;print}map{split/(?<=\.)[\s\n]+/m,$_}<>
|
| 290.26 | Ross Younger | Fri Jun 7 08:36:09 2002 | -ln $b.=$".$_}map{if(s/\s*(\S.*)/$1\./){split/\s+/;$x=@_.":^I";$z=&Q.":^I";map{$c=y///c-length&Q;$x.=$_.$"x($c<0?1-$c:1);$z.=&Q.$"x($c<0?1:1+$c)}@_;$_="$x
$z";s/ *
/
/;s!(^\d+:^I.{57}).{4,}!$1...!&&s,(/.+:^I.{56}[^ ]*).*$,$1,;s, *$,,;print}}split/\./,$b;sub
Q{y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//
|
| 292.18 | Sec | Thu Jun 6 23:18:09 2002 | -ap056
^I$_=$v=$:=$x=$m=$p="";
if(@r=map{
^I^I$_.=$"x(3*!/\./-length);
^I^I$:||=$p-($v>56)-($v>60)if(60-$v<($-=length));
^I^I$p++;
^I^I$v+=1+$-;
^I^I$m+=@D=/\w/g;
^I^I$x+=@C=/[aeiouy]/ig;
^I^Isprintf"%-$-s",@C."/".@D;
^I}@F){
^I$#r=$:if$:;
^I$_="@F";s/(.{57})....+/$1.../;
^I$_="$p:^I$_
$x/$m:^I@r
";
^Is/ +$//;
};
|
| Traded the print for a -p switch for a small gain. Renamed a few variables (see artistic solution for the reason) | |||
| 292.33 | David Lowe | Tue Jun 4 04:02:39 2002 | -na map{$j+=($v=y#aeiouyAEIOUY##);$k+=($l=y#a-zA-Z0-9##);$c=y###c>($n=length($B="$v/$l"))?y###c:$n;/\./?$c=$s='':$s=$";$A=$_;$$_.=sprintf"%-*s$s",$c,${+uc}for(a,b);if(++$i,!$s){$a=~s#(.{57}).*#$1...#,$b=~s#(.{0,56}\d+/\d+).*#$1# if length$a>60;print"$i:\t$a
$j/$k:\t$b
";$i=$j=$k=$a=$b=''}}@F |
| 294.16 | Sec | Wed Jun 5 21:31:49 2002 | -an056
^I$v=$p=$x=$b=$z=0;
^I^I$r[$#r=$p||$#F]=~s/ +$//,
^I^I($_="@F")=~s/(.{57})....+/$1.../,
^I^Iprint "$z:^I$_
$x/$b:^I@r
"if@r=map{
^I^I$_.=$"x(3*!/\./-length);
^I^I$p||=$z-($v>56)-($v>60)if(60-$v<($-=length));
^I^I$z++;
^I^I$v+=1+$-;
^I^I$b+=@D=/\w/g;
^I^I$x+=@C=/[aeiouy]/ig;
^I^Isprintf"%-$-s",@C."/".@D;
^I}@F;
|
| Optimize the next if ... Optimize the cutting off, and a few assignments. I still think I'm missing somthing as I'm shaving off single chars while still over 100 behind the lead... | |||
| 294.26 | Guillermo Sansovic | Sun Jun 2 14:05:59 2002 | $/='.';for(<>){/\S/||last;$c=$s="";for(@w=split){$c.=" "x(length($s)-length$c).c($_);$s.="$_ "." "x(3-length)}$s=~s/ *$//;$s=~s/(.{57}).{3}.+/$1.../;$n=-1-$s=~/ \.\.\./+split" ",$s;$c=~/(\S+\s+){$n}(\S+)/;print~~@w,":\t$s
",c($_),":\t$&
"}sub c{($_=$w=pop)=~y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//;} |
| 295.26 | Yanick Champoux | Sat Jun 1 17:39:26 2002 | -n0 sub t($){local$_=lc
pop;y/aeiyou//.'/'.(@a=/\w/g)}map{s/(\S+)\s+/"$1 ".(" "x(3-length$1))/eg;($y=$_)=~s/\S..?\S*/(t$&).(' 'x(length($&)-length t$&))/eg;$s=$_;/.{0,57}/;$_="$&..."if 3<length$';$x=@a=/\w\S*/g;$y=~/(\s*\d+\/\d+){$x}/;$y=$&;print~~(@a=$s=~/\S+/g),":^I$_
",t$s,":^I$y
"}/\w.*?\./sg |
| I feel silly optimizing a solution that so obviously needs a total rewrite... | |||
| 297.25 | Amir Karger | Tue Jun 4 13:58:37 2002 | -p056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}
sub p{sprintf("%-*s",$m*!/\.$/,$_[0])}
split||exit;
$x=$w="";
map{$m=($l=length)>3?$l+1:4;$x.=p$_;$_=p g}(@_);
$x=~s/(.{57})....+/$1.../;
while($x=~/\b\S+(([^.]?)\.+$)?/g){$w++if$1||!$2}
$w=join("",@_[0..$w-1]);
$w=~s/\s+$//;
$_=@_.":\t$x\n".g.":\t$w\n" |
| We've broken the 300 barrier (with a slight change in algorithm). Only 150 more characters to go! | |||
| 298.24 | Michael Thelen | Mon Jun 3 19:27:59 2002 | undef$/;for(<>=~/\s*(.*?\.)/sg){my($V,$T,$x,$p,$q);for(@w=split){$V+=$v=y/aeiouyAEIOUY//;$T+=$t=s/\w/$&/g;$f="$v/$t";$p.=$",$q.=$"if defined$x;($x<0?$p:$q).=$"x abs$x;$p.=$_;$q.=$f;$x=y///c-$f=~y///c}$p=~s/(.{57}).*/$1.../,$q=~s/(.{0,55}\s\S+).*/$1/ if length$p>60;print$z=@w,":\t$p\n$V/$T:\t$q\n"} |
| Just some stroke shaving. I have too many named variables. And I'll want to replace \t and \n with literal tabs and newlines. | |||
| 302.25 | nashdj | Thu Jun 6 07:27:15 2002 | $/=$;;for(<>=~/[^\n ]+/g){$v+=@a=/[aeiouy]/gi;$t+=@z=/\w/g;@q=/./g;$,=' ';$,x=3if@q==1;$,x=2if@q==2;$x.=$_.$,;push@;,@a.'/'.@z;$n++;if(/\./){$_=$x;s/ +$//&s/^(.{57}).{4,}/$1.../;$y=$_;$y=~s/.*?[. ]+/sprintf'%-'.(length$&).'s',shift@;/ge;s/ +$//for$y,$_;print"$n:\t$_\n$v/$t:\t$y\n";($n,$v,$t,$x,@;)=0}} |
| 302.30 | David Lowe | Tue Jun 4 01:07:46 2002 | -na for(@F){$j+=($v=y#aeiouyAEIOUY##);$k+=($l=y#a-zA-Z0-9##);$c=y###c>($n=length($B="$v/$l"))?y###c:$n;/\.$/?$c=$s='':$s=$";$a.=sprintf"%-*s$s",$c,$_;$b.=sprintf"%-*s$s",$c,$B;if(++$i,!$s){$a=~s#(.{57}).*#\1...#,$b=~s#(.{0,56}\d+/\d+).*#\1# if length$a>60;print"$i:\t$a
$j/$k:\t$b
";$i=$j=$k=$a=$b=''}} |
| 302.49 | Scott Hall | Mon Jun 3 21:27:04 2002 | $/=".";map{chop;y/
/ /s;split;$v=y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//;s/(^| )\S/ @/g;y/ .@/</c;s/@<? (?!$)/@<< /g;s/ *//;if(@_){formline@_.":^I$_.
$v:^I$_<<
",@_,map{y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//}@_;$^A=~s/(^I.{57})....+(?=
.)/$1.../;$^A=~s/(\.{3}
.+^I.*?.{56}) ..+/$1/;$^A=~s/ *$//;print$^A;$^A=''}}<> |
| 303.16 | Honza Pazdziora | Tue Jun 4 18:11:10 2002 | -056n sub d{$v=$l=0;map{$l++;$v++if/[aeiouy]/i}$_[0]=~/(\w)/g;"$v/$l"}
(@w=/(\S+)/g)||next;
$p=$x='';
for(@w){$x.=$c=sprintf'%-*s ',length,d$_;$p.=sprintf'%-*s ',length($c)-1,$_;}
$p=~s/\s+$//;
$p=~s/(.{57})....+/$1.../and$x=~s/((.{56}).*?) .*/$1 /;
$x=~s/\s+$//;
print 0+@w,":\t$p\n",d($_),":\t$x\n";
|
| 303.21 | pom | Sat Jun 1 13:48:08 2002 | -ln0777 for(split/\./){(@s=/\S+/g)||last;$V=$L=@S=@C=();for(@s){$V+=$v=y/aeiouyAEIOUY//;$L+=$l=y/a-zA-Z0-9//;$k="$v/$l";$p=length($k)-length;push@S,$_.$"x$p;push@C,$k.$"x-$p}($_="@S")=~s/\s*$/./;s/(.{57}).{4,}/$1.../;$k=@S=split;$k-=$S[--$k]!~/\w/;($c="@C[0..$k]")=~s/\s*$//;print@s.":\t$_\n$V/$L:\t$c"} |
| 305.27 | Alain "TopMach" Dupuis | Sun Jun 2 02:12:23 2002 | -0 sub v{y/aeiouyAEIOUY//}$_=<>;for(grep/\S/,/[^.]+/g){my(@r,$i,$p,$t);for(/\S+/g){$t+=$e=()=/\w/g;$f=v."/".$e;$_.=' 'x(3-length);$f.=' 'while length>length$f;$p.="$_ ";push@r,$f;$i++}$p=~s/ +$//;$p=~s/(.{57}).*/$1../ if 59<length$p;@n=$p=~/\w+/g;$#r=@n-1;$r="@r";$r=~s/ +$//;print"$i:^I$p.
",v,"/$t:^I$r
"} |
| 305.34 | Erik Johansen | Fri Jun 7 20:00:56 2002 | -n map{$a.=" ",$b.=" "if$a;$f=length($a)-length$b;$a.=" "x-$f;$b.=" "x$f;$u+=$v=y*aeiouyAEIOUY**;$c+=$l=y*a-zA-Z0-9**;$w++;$a.=$_;$b.="$v/$l";/\./&&do{substr($a,57)="..."if 60<length$a;$a=~/\w+\W+$/,$z=length$`,$b=~s/^(.{$z}\S*).*/$1/;print"$w:\t$a\n$u/$c:\t$b\n";$a=$b=$c=$u=$w=""}}split/[^-\w;:'"().]+/i |
| 306.25 | Michael Thelen | Mon Jun 3 18:51:27 2002 | undef$/;for(<>=~/\s*(.*?\.)/sg){my($V,$T,$x,$p,$q);for(@w=split){$V+=$v=y/aeiouyAEIOUY//;$T+=$t=s/\w/$&/g;$f="$v/$t";$p.=$",$q.=$"if defined $x;($x<0?$p:$q).=$"x abs$x;$p.=$_;$q.=$f;$x=y///c-$f=~y///c}if(length$p>60){$p=substr($p,0,57).'...';$q=~s/(.{0,55}\s\S+).*/$1/}print scalar@w,":\t$p\n$V/$T:\t$q\n"} |
| Ditched the data structure along with the loop that created it. Looking much better, but still a lot of work to do. | |||
| 308.22 | Sander Brandenburg | Sun Jun 2 18:34:11 2002 | -na056 next if$#F<0;($a,$b)=(0,0);@g=map{($c,$d)=(0,0);$c++,$a++for/[aeiouy]/gi;$d++,$b++for/\w/g;"$c/$d"." "x(-length("$c/$d")+length);}@F;@F=map{$_." "x(3-length)}@F;$_="@F";s/\s+$//;s/^(.{57}).{4,}/$1.../;$k="@g";$k=~s!\s+$|\s*\d+/\d+$!!while 2+rindex($k," ")>index$_,".";print++$#F.":\t$_\n$a/$b:\t$k\n"; |
| too much string handling :/ | |||
| 308.25 | Yanick Champoux | Sat Jun 1 17:07:55 2002 | -n0 sub t($){local$_=lc
pop;y/aeiyou//.'/'.(@a=/\w/g)}map{s/(\S+)\s+/"$1 ".(" "x(3-length$1))/eg;($y=$_)=~s/\S..?\S*/(t$&).(' 'x(length($&)-length t$&))/eg;($s=$_)=~s/(.{0,57})(.*)/$1.(4>length$2?$2:'...')/e;$x=@a=$s=~/\w\S*/g;$y=~/(\s*\d+\/\d+){$x}/;$y=$&;print 0+(@a=/\S+/g),":^I$s
",t$_,":^I$y
"}/\w.*?\./sg |
| Pitiful, I know. but at least I step ahread of Ronald. | |||
| 308.48 | Scott Hall | Mon Jun 3 14:10:09 2002 | $/=".";map{chop;y/
/ /s;split;$v=y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//;s/^/ /;s/\s\S/ @/g;y/ .@/</c;s/@<? (?!$)/@<< /g;s/^ *//;if(@_){formline@_.":^I$_.
$v:^I$_<<
",@_,map{y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//}@_;$^A=~s/(^I.{57})....+(?=
.)/$1.../;$^A=~s/(\.{3}
.+^I.*?.{56}) ..+/$1/;$^A=~s/ *$//g;print$^A;$^A=''}}<> |
| 309.24 | Amir Karger | Tue Jun 4 13:33:53 2002 | -p056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}
sub p{sprintf"%-*s",$m+1,pop}
split||exit;
$x=$w="";
map{$m=($l=length)>3?$l:3;$x.=p$_;$w.=p g}@_;
map{s/\s+$//}$x,$w;
$q=$w;
if($x=~s/(.{57})....+/$1.../){
$q="";while($x=~/\b\S+(([^.]?)\.+$)?/g){if($2||!$1){$w=~s#\s*[\d/]+##;$q.=$&}}}
$_=@_.":\t$x\n".g.":\t$q\n" |
| split's default is very convenient! At this rate, I should be down to 200 by Friday...June 28. | |||
| 310.16 | Ronald J Kimball | Sat Jun 1 06:14:31 2002 | -n056 sub L{length pop}sub v{$_=lc;y/aeiouy//}sub b{()=/\w/g}$W=@@=/\S+/g;$V=v;$B=b;$s=$n='';while(@@&&60>L$s){$_=shift@@;$s.=$_.$";$n.=v.'/'.b.$";$n.=$"x($d=L($s)- L$n);$s.=$"x-$d}$s=~s/\s+$//;60<L($s)||@@and substr($s,57)='...'and$n=~/.{56,} \S/&&$n=~s/\S+\s*$//;$n=~s/\s+$//;print"$W:\t$s\n$V/$B:\t$n\n"if$W |
| I finally got my solution one character shorter than Eugene's, and someone else has posted a 237 character solution. *sigh* | |||
| 310.20 | nashdj | Tue Jun 4 10:43:50 2002 | $/=$;;for(<>=~/[^\n ]+/g){$v+=@a=/[aeiouy]/gi;$t+=@z=/\w/g;$q=length;$,=' ';$,x=3if$q==1;$,x=2if$q==2;$x.=$_.$,;push@;,@a.'/'.@z;$n++;if(/\./){$_=$x;s/ +$/_/&s/^(.{57}).{5,}/$1..._/;for$m(/.*?[. ]+/g){$_.=sprintf'%-'.(length$m).'s',shift@;}/(.*?) *_(.*?) *$/;print"$n:\t$1\n$v/$t:\t$2\n";$n=$v=$t=$x='';@;=()}} |
| 310.29 | David Lowe | Mon Jun 3 22:34:34 2002 | -n for(/(\S+)\s*/g){$j+=($v=y#aeiouyAEIOUY##);$k+=($l=y#a-zA-Z0-9##);$c=y###c>($n=length($B="$v/$l"))?y###c:$n;/\.$/?$c=$s='':$s=$";$a.=sprintf"%-*s$s",$c,$_;$b.=sprintf"%-*s$s",$c,$B;if(++$i,!$s){$a=~s#(.{57}).*#\1...#,$b=~s#(.{0,56}\d+/\d+).*#\1# if length$a>60;print"$i:\t$a
$j/$k:\t$b
";$i=$j=$k=$a=$b=''}} |
| 311.27 | Yanick Champoux | Sat Jun 1 14:24:23 2002 | -n0 sub t($){local$_=lc
pop;y/aeiyou//.'/'.(@a=/\w/g)}for(/\w.*?\./sg){s/(\S+)\s+/"$1 ".(" "x(3-length$1))/eg;($y=$_)=~s/\S..?\S*/($a=t$&).(' 'x(length($&)-length$a))/eg;($s=$_)=~s/(.{0,57})(.*)/$1.(4>length$2?$2:'...')/e;$x=@a=$s=~/\w\S*/g;$y=~/(\s*\d+\/\d+){$x}/;$y=$&;print 0+(@a=/\S+/g),":^I$s
",t$_,":^I$y
"} |
| Note to self: cut'n'paste from an aterm convert \t to spaces. Silly c'n'p... | |||
| 311.34 | Eugene van der Pijll | Sat Jun 1 01:31:29 2002 | -n056 sub e{$a.=$"x($d=length($b)-length$a);$b.=$"x-$d}$v=s/[aeiouy]/$&/gi;$l=s/\w/$&/gi;if(split){$w=@_;$a=$b='';for(@_){$a.=$_.$";$b.=1*s/[aeiouy]/$&/gi."/".s/\w/$&/gi.$";e}$a=~s/ +$//;if($a=~s/([^ ].{56}).{4,}/$1/){$q=split' ',$a;$b=~s/(([^ ]+ +){$q}).*/$1/e;$a.='...'}$b=~s/ +$//;print"$w:\t$a
$v/$l:\t$b
"} |
| Not very good, perhaps, but it's a start. To be continued... | |||
| 312.26 | Roberto Natella | Thu Jun 6 22:44:09 2002 | -056 sub p{y/aeiouyAEIOUY//."/".&l}sub z{y#-,;:'"()&/ ##d}sub l{length}while(<>){s/[.
]/ /g;next if!/\w/;print 0+(@x=split);z;$b=p;$_=sprintf"%-3s "x@x,@x;s/\s+$//;$_=substr($_,0,57).".."if 59<l;@y=@x[0..$#{[split]}];pop@y if/\s\.\.$/;@w=map{sprintf"%-".(&z+l)."s",p}@y;$w[-1]=~s/\s+$//;print":\t$_.\n$b:\t@w\n"} |
| Sorry for the too long solution... it's my first try :-) | |||
| 313.17 | Sec | Wed Jun 5 17:51:11 2002 | -an056
next if/^\s+$/;
^I$v=$p=$x=$b=$z=0;
^I@r=map{
^I^I$_.=$"x(3-length)if!/\./;
^I^I$-=length;
^I^I$p||=$z-($v>56)-($v>60)if($v+$->60);
^I^I$z++;
^I^I$v+=1+$-;
^I^I$b+=@D=/\w/g;
^I^I$x+=@C=/[aeiouy]/ig;
^I^Isprintf"%-$-s",@C."/".@D;
^I}@F;
^I$r[$#r=$p||$z-1]=~s/ +$//;
^Iprint "$z:^I","@F"=~/(.{57})..../?"$1...":"@F","
$x/$b:^I@r
";
|
| Wow. I hate perl5.6.1, it breaks in so many interesting places... Anyway, found an even shorter workaround, so I now can hand the "red lantern" off to someone else... " | |||
| 316.33 | David Lowe | Mon Jun 3 21:55:03 2002 | -0 for(<>=~/[^\.]*\./g){my($a,$b,$i);for($_,/(\S+)\s*/g){$B=y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//;if($i++){$c=y///c>($n=length$B)?y///c:$n;/\.$/?$c=$s='':$s=$";$a.=sprintf"%-*s$s",$c,$_;$b.=sprintf"%-*s$s",$c,$B}else{$A=$B}}$a=~s/(.{57}).*/\1.../,$b=~s/(.{0,56}\d+\/\d+).*/\1/ if length$a>60;print--$i.":\t$a
$A:\t$b
"} |
| fourth time's the charm? | |||
| 317.18 | Chris Dolan | Mon Jun 3 02:25:53 2002 | -ln map{$t=lc;$V+=$v=$t=~y/aeiouy//;$N+=$n=$t=~s/\w//g;$W++;if($L-$l+$i<61){$i=length;$
l=3>$i?4:$i+1;$f="%-${l}s";$w.=sprintf$f,$_;$s.=sprintf$f,"$v/$n";if(60<$L+$i){subs
tr($w,57)="...";$s=~s/(.{56}\S*) .*/$1/;}$L+=$l;}if(/\./){$w=~s/\s+$//;$s=~s/\s+$//;print"$W:\t$w";print"$V/$N:\t$s";$s=$w=$L=$W=$V=$N="";}}split |
| Phew! It took a while to just get a WORKING solution, let alone an optimized one. | |||
| 319.18 | Benoît Chauvet | Sun Jun 2 12:22:58 2002 | $/=$"='';sub p{$c=y/a-z0-9/a-z0-9/;~~s/[ouyaie]/[/g."/$c"}map{$z=$h=$j=0;$b=1;@w=grep{56>$z[$j++]||$z<61}map{$z+=1+length;$z[++$h]=$z;$_.' 'x(1+!/../+!/.../)}split/\s+/;$_=lc;@v=map{$d=p;s/./ /g;$_|=$d}map lc,@w;$_="$h:\t@w\n".p.":\t@v\n";$z-(@w<2)<61||s/(\t.{0,57}).*/$1.../;s/ +$//mg;print}split/(?<=\.)\W+/,join'',<> |
| First try : brute force... But it was more difficult to make it work than previous holes ! | |||
| 322.16 | Honza Pazdziora | Tue Jun 4 18:09:31 2002 | -056n sub d{$v=$l=0;map{$l++;$v++if/[aeiouy]/i}$_[0]=~/(\w)/g;"$v/$l"}
(@w=/(\S+)/g)||next;
$p=$x='';
for(@w){
$x.=$c=sprintf'%-*s ',length,d$_;
$p.=sprintf'%-*s ',length($c)-1,$_;
}
$p=~s/\s+$//;
$p=~s/(.{57})....+/$1.../and$x=~s/((.{56}).*?) .*/$1 /;
$x=~s/\s+$//;
print 0+@w,":\t$p\n",d($_),":\t$x\n"; |
| 322.33 | Erik Johansen | Thu Jun 6 14:48:53 2002 | -n map{$a.=" ",$b.=" "if$a;$f=length$b;$a.=" "x($f-length$a);$b.=" "x(-$f+length$a);$u+=$v=y*aeiouyAEIOUY**;$c+=$l=y*a-zA-Z0-9**;$w++;$a.=$_;$b.="$v/$l";if(/\./){length$a>60and substr($a,57)="...",$a=~/\w+\W+$/,$z=length$`,$b=~s/^(.{$z}\S*).*/$1/;print("$w:\t$a\n$u/$c:\t$b\n"),$a=$b=$c=$u=$w=""}}split/[^-\w;:'"()&\/.]+/i
|
| 323.33 | Ross Younger | Sun Jun 2 11:49:59 2002 | -ln $a.=$".$_}sub
Q{y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//}for(split/\s*\./,$a){s/^\s+//;s/.$/$&./
or
next;$z=&Q.":\t";$y=(split/\s+/).":\t";map{$a=(length&Q)-length;$y.=$_.$"x($a>0?$a+1:1);$z.=&Q.$"x($a>0?1:1-$a)}split/\s+/;$y=~s/ *$//;$z=~s/(.*\t.{56}[^ ]*).*/$1/
if($y=~s/(.*\t.{57}).{4,}/$1.../);$_="$y
$z";s/ *$//;print |
| 324.23 | Michael Wrenn | Fri Jun 7 23:15:13 2002 | $/='';$_=join'',<>;while($_){my($w,@x,$p,$u,$c);s/\s+/ /g;s/^ ?(.+?\.) ?|$//;map{$c++;$u+=@v=/[aeiouy]/gi;$p+=@n=/\w/g;$k=y///c-($q=@v."/".@n)=~y///c;$w.="$_ "." "x-$k;push(@x,$q." "x$k);$w=~s/(.{57})([^.]{3}|\.{3}).*/$1.../}split/ /,$1;$w=~s/((.*?)[ .]*?) *$/$1/;$#x=-1+split/ +/,$2;$x[-1]=~s/ //g;print"$c:^I$w
$u/$p:^I@x
"} |
| All done! I always aim to beat what Ron Kimball does in an hour. But I need the whole week! One day and I'm always at the back of the pack. But I had fun playing!!! | |||
| 326.23 | Michael Wrenn | Fri Jun 7 22:49:44 2002 | $/='';$_=join'',<>;while($_){my($w,@x,$p,$u,$c);s/\s+/ /g;s/^ ?(.+?\.) ?|$//;for(split/ /,$1){$c++;$u+=@v=/[aeiouy]/gi;$p+=@n=/\w/g;$k=y///c-($q=@v."/".@n)=~y///c;$w.="$_ "." "x-$k;push(@x,$q." "x$k);$w=~s/(.{57})([^.]{3}|\.{3}).*/$1.../}$w=~s/((.*?)[ .]*?) *$/$1/;$#x=-1+split/ +/,$2;$x[-1]=~s/ *$//;print"$c:^I$w
$u/$p:^I@x
"} |
| Still whittling ... | |||
| 327.27 | Alain "TopMach" Dupuis | Sun Jun 2 00:15:20 2002 | -0 sub v{y/aeiouyAEIOUY//}sub l{length(pop||$_)}$_=<>;s/\s+$//;for(/[^.]+/g){my(@r,$i,$p,$t);for(/\S+/g){$t+=$e=()=/\w/g;$f=v."/".$e;$b=l>l($f)?l:l$f;$_.=' 'while$b>l;$f.=' 'while$b>l$f;$p.="$_ ";push@r,$f;$i++}$p=~s/ +$//;$p=~s/(.{57}).*/$1../ if 59<l$p;@n=$p=~/\w+/g;$#r=@n-1;$r="@r";$r=~s/ +$//;print"$i:^I$p.
",v,"/$t:^I$r
"} |
| 330.23 | Michael Wrenn | Fri Jun 7 22:23:28 2002 | $/='';$_=join'',<>;while($_){my($w,@x,$p,$u,$c);s/\s+/ /g;s/^ ?(.+?\.) ?|$//;for(split/ /,$1){$c++;$u+=@v=/[aeiouy]/gi;$p+=@n=/\w/g;$q=@v."/".@n;$k=y///c-$q=~y///c;$w.="$_ "." "x-$k;push(@x,$q." "x$k);$w=~s/^(.{57})([^.]{3}|\.{3}).*/$1.../}$w=~s/(.*?)([ .]*?) *$/$1$2/;$#x=-1+split/ +/,$1;$x[-1]=~s/ *$//;print"$c:^I$w
$u/$p:^I@x
"} |
| What was I thinking??? Only 20 strokes to 35th place! | |||
| 330.29 | Yanick Champoux | Sat Jun 1 03:20:35 2002 | -0 sub t{$a=lc
pop;$a=~y/aeiyou//.'/'.(@a=$a=~/\w/g)}
for(<>=~/\w.*?\./sg){s/(\S+)[
\s]+/"$1 ".(" "x(3-length$1))/eg;$y=$_;$y=~s/\S..?\S*/$a=t($&);$a.(' 'x(length($&)-length$a))/eg;$s=$_;$s=~/(.{0,57})(.*)/;$s=$1 .(length($2)<4?$2:'...');$x=@a=$s=~/\w\S*/g;$y=~/(\s*\d+\/\d+){$x}/;$y=$&;print 0+(@a=/\S+/g), ":^I$s
",t($_),":^I$y
"} |
| Hmm.. It /is/ passing the test program here. Maybe a bad cut'n'paste in my first entry? | |||
| 330.34 | Erik Johansen | Mon Jun 3 18:52:08 2002 | -n map{$a.=" ",$b.=" "if$a;$f=length$b;$e=length($a.=" "x($f-length$a));$b.=" "x($e-$f);$u+=$v=y*aeiouyAEIOUY**;$c+=$l=y*a-zA-Z0-9**;$w++;$a.=$_;$b.="$v/$l";if(/\./){length$a>60and substr($a,57)="...",$a=~/\w+\W+$/,$z=length$`,$b=~s/^(.{$z}\S*).*/$1/;print("$w:\t$a\n$u/$c:\t$b\n"),$a=$b=$c=$u=$w=""}}/([-a-z0-9,;:'"\(\)&\/.]+)/gi
|
| 331.28 | Alain "TopMach" Dupuis | Sat Jun 1 20:34:32 2002 | sub v{y/aeiouyAEIOUY//}sub l{length(pop||$_)}$_=join'',<>;s/\s+$//;for(/[^.]+/g){my(@r,$i,$p,$t);for(/\S+/g){$t+=$e=()=/\w/g;$f=v."/".$e;$b=l>l($f)?l:l$f;$_.=' 'while$b>l;$f.=' 'while$b>l$f;$p.="$_ ";push@r,$f;$i++}$p=~s/ +$//;$p=~s/(.{57}).*/$1../ if 59<l$p;@n=$p=~/\w+/g;$#r=@n-1;$r="@r";$r=~s/ +$//;print"$i:^I$p.
",v,"/$t:^I$r
"} |
| It's ugly and long but it's a start... although a slow start. :( | |||
| 334.45 | Scott Hall | Mon Jun 3 04:01:07 2002 | $/=".";map{y/
/ /s;split;$v=y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//;s/^/ /;s/\s\S/ @/g;y/ .@/</c;s/@<?\s(?!$)/@<< /g;s/^ *//;if(@_){formline$_,@_;$b=$^A=~s/(.{57})....+/$1.../;
print 0+@_,":\t$^A
";$^A='';s/\./<</;formline$_,map{y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//}@_;$^A=~s/(.{56})\s..+/$1/ if$b;$^A=~s/\s*$//g;print"$v:\t$^A
";$^A=''}}<> |
| 335.25 | Michael Thelen | Mon Jun 3 18:22:13 2002 | undef$/;for(<>=~/\s*(.*?\.)/sg){$V=$T=0;@d=map{$V+=$v=y/aeiouyAEIOUY//;$T+=$t=s/\w/$&/g;[$_,"$v/$t"]}split;my$x;my$p;my$q;for(@d){($w,$f)=@$_;$p.=$",$q.=$"if defined $x;($x<0?$p:$q).=$"x abs$x;$p.=$w;$q.=$f;$x=$w=~y///c-$f=~y///c}if(length$p>60){$p=substr($p,0,57).'...';$q=~s/(.{0,55}\s\S+).*/$1/}print scalar@d,":\t$p\n$V/$T:\t$q\n"} |
| Cleaned up the first part a little bit. I'm still nowhere near happy, but getting more familiar with the problem. | |||
| 336.19 | Will Coleda | Fri Jun 7 19:23:09 2002 | for(join('',<ARGV>)=~/(.*?\.)/gs){my(@n,$v,$t,$d,$j,$r);for(split){$v+=@x=/[aeiouy]/gi;$t+=@c=/[a-z0-9]/gi;$k=@x.'/'.@c;$g=1+length()-length$k;push@n,$k.=' 'x($g>0?$g:1);$d.=$_.' 'x($g>0?1:$g<0?2-$g:2)}$d=~s/ +$//;if(length$d>($s=60)){substr($d,$s-=3)='...'}for(@n){last if$j>=$s;$j+=length;$r.=$_}$r=~s/ +$//;print@n.":^I$d
$v/$t:^I$r
"} |
| Re-re-submittal. same algorithm, smaller. | |||
| 336.23 | Amir Karger | Tue Jun 4 04:46:58 2002 | -p056 sub g{y/aeiouyAEIOUY//."/".s/\w/$&/g}
sub p{sprintf"%-*s",$m+1,pop}
s/^\s+//;
next if /^\s*$/;
split/\s+/;
$x=$w="";
map{$m=($l=length)>3?$l:3;$x.=p$_;$w.=p g}@_;
map{s/\s+$//}$x,$w;
$q=$w;
if($x=~s/(.{57})....+/$1.../){
$q="";while($x=~/\b\S+(([^.]?)\.+$)?/g){if($2||!$1){$w=~s#\s*[\d/]+##;$q.=$&}}}
$_=@_.":\t$x\n".g.":\t$q\n"; |
| Mostly a shortened version of the algorithm from the LONG one. It doesn't improve my ranking by much, but it'll look great on the scoring graph. | |||
| 340.24 | Michael Wrenn | Fri Jun 7 22:06:16 2002 | $/='';$_=join'',<>;while($_){my($w,@x,$p,$u,$c);s/\s+/ /g;s/^ ?(.+?\.) ?|$//;for(split/ /,$1){$c++;$u+=@v=/[aeiouy]/gi;$p+=@n=/\w/g;$q=@v."/".@n;@y=/./g;@z=$q=~/./g;$w.="$_ "." "x(@z-@y);push(@x,$q." "x(@y-@z));$w=~s/^(.{57})([^.]{3}|\.{3}).*/$1.../}$w=~s/(.*?)([ .]*?) *$/$1$2/;$#x=-1+split/ +/,$1;$x[-1]=~s/ *$//;print"$c:^I$w
$u/$p:^I@x
"} |
| Foolishly pecking away! | |||
| 343.24 | Michael Wrenn | Fri Jun 7 21:21:10 2002 | $/='';$_=join'',<>;while($_){my($w,@x,$p,$u,$c);s/\s+/ /g;s/^ | $//;s/.+?\.|$//;for(split/ /,$&){$c++;$u+=@v=/[aeiouy]/gi;$p+=@n=/\w/g;$q=@v."/".@n;@y=/./g;@z=$q=~/./g;$w.="$_ "." "x(@z-@y);push(@x,$q." "x(@y-@z));$w=~s/^(.{57})([^.]{3}|\.{3}).*/$1.../}$w=~s/(.*?)([ .]*?) *$/$1$2/;$#x=-1+split/ +/,$1;$x[-1]=~s/ *$//;print"$c:^I$w
$u/$p:^I@x
"} |
| Thanks to Aer Lingus for taking up my whole week! Stuck in the pubs of Ireland with out a computer. I cried in my Guinness! There goes my y-index to beginner level again! | |||
| 344.18 | Rick Cook | Fri Jun 7 18:31:03 2002 | undef$/;map{$t=$w=$h=$p=$l="";for$n(split){$d=0;$h++;$p.=" "x(3-$g)." $n";$g=length$n;$w+=$f=$d+=$n=~s/[aeiouy]//ig;$t+=$f+=$n=~s/\w//g;$g--if$f>9;$l.="$d/$f "." "x($g-3)}$_=$l;$p=~s/\s+(.*)/$1\./;$p=substr($p,0,57)."..."if length$p>60;$p=~/.* [^\.]/g;pos=75;while(pos>pos$p||/\s$/){chop;/.* \d/g}print"$h:\t$p\n$w/$t:\t$_\n"if$h}split/\.\s/,<> |
| 347.20 | Ryan Zachry | Tue Jun 4 14:03:30 2002 | map{s/
/ /;$x.=$_}<>;for$d($x=~/.*?\./g){$q=$z=$c=$_=$p="";for$w($d=~/\S+/g){$q++;$l=$v=0;for$e($w=~/\w/g){$l++;$z++;map{$v++if/$e/i}"aeiouy"}$c+=$v;$_.=($t=length($f="$v/$l"))>($y=length$w)?$w.$"x($t-$y+1):"$w ";$p.=$t>$y?"$f ":$f.$"x($y-$t+1)}s/ *$//;if(length>60){s/(.{57}).*/$1.../;$p=~s/(.{56}\s).*/$1/}$p=~s/ *$//;print"$q:\t$_
$c/$z:\t$p
"} |
| 347.21 | Ross Younger | Sun Jun 2 09:15:03 2002 | -lnaF. $F[0]=$c.$".$F[0]if$c;$c=m/\.$/?'':pop@F;map{$r=$s=$w=$t=$q='';map{++$w;$v=0+s/([aeiouy])/$1/gi;$u=s/([a-z0-9])/$1/ig;$p=1+y///c;$r+=$v;$s+=$u;$x=length($o="$v/$u ");$t.=$_.$";$q.=$o;($x>$p)?$t:$q.=$"x
abs($x-$p)}split/\s+/;$t=~s/\s*$//;$_=$q;if(length$t>60){substr($t,57)="...";s/^(.{56}[^ ]*).*$/$1/}s/\s*$//;print"$w:\t$t\n$r/$s:\t$_"}@F |
| 355.20 | ouch | Fri Jun 7 17:22:40 2002 | $/=4;map{if(!/^$/){s/^\s*//;map{$w=l($c=$_)-tr/-.,;:'"()&\///;$q=tr/aeiouyAEIOUY//;$d="$q/$w ";$c.=' '.' 'x(l($d)-&l($c)-1)if$c!~/\./;$d.=' 'x(l($c)-&l($d));$m.=$c;if(l($m)>60){substr($m,57)="...";$n.=$d if l($n)<57}else{$n.=$d}$r+=$q;$p+=$w;$j++}split/\s+/;$n=~s/\s*$//;print"$j:\t$m\n$r/$p:\t$n\n";$m=$n=$j=$r=$p=''}}<>=~/(.*?\.)?/msg;sub l{length@_[0]}
|
| 358.25 | Michael Thelen | Mon Jun 3 15:14:36 2002 | undef$/;for(<>=~/\s*(.*?\.)/sg){my@d;my$V;my$T;for(split){$V+=$v=y/aeiouyAEIOUY//;$T+=$t=s/\w/$&/g;$f="$v/$t";push@d,[$_,"$v/$t"]}my$x;my$p;my$q;for(@d){($w,$f)=@$_;$p.=$",$q.=$"if defined $x;($x<0?$p:$q).=$"x abs$x;$p.=$w;$q.=$f;$x=$w=~y///c-$f=~y///c}if(length$p>60){$p=substr($p,0,57).'...';$q=~s/(.{0,55}\s\S+).*/$1/}print scalar@d,":\t$p\n$V/$T:\t$q\n"} |
| First working program, very ugly. Lots of work to do from here! | |||
| 359.19 | seano | Tue Jun 4 06:22:17 2002 | undef$/;sub v{(@x=/[aeiouy]/gi).'/'.(@x=/[a-z0-9]/gi)}for(map{"$_."}map{split/\.(?:\s+|$)/m,$_}grep/\S/,split/\n\n+/,<>){($g,$p)=v;($c=pack$p,map{$l=length;$m=length($v=v);$p.='A'.(($l>$m?$l:$m)+1);$v}(@w,@c)=split)=~s/^(.{60}\S*).*/$1/;$c=~s/^(.{56}\S*).*/$1/ if($w=pack$p,@w)=~s/^(.{57}).{3,}\S.*/$1.../;$w=~s/\s*$//;$c=~s/\s*$//;print@w.":\t$w\n$g:\t$c\n"} |
| first cut. | |||
| 362.31 | Piotr Klaban | Fri Jun 7 12:39:36 2002 | print join'',map{$^A=$v=$n=$l='';s/^\s+//;s/\s+/ /g;s/(?<!\S)\S\S? /pack("A4",$&)/ge;formline'@'.('<'x56)."...","$_.";if($w=s#\S+\s*#$l.=($x=$&=~y/aeiouyAEIOUY//.'/'.($y=$&=~y/a-zA-Z0-9//))|' 'x length($&);$v+=$x;$n+=$y;$&#ge){$s=@{[$^A=~/\s+/g]}+(substr($^A,-4)ne' ...');$l=~s/^((\S+\s+){$s}).+$/$1/;$l=~s/\s*$//;"$w:\t$^A\n$v/$n:\t$l\n"}}split/\.\s/,join'',<>; |
| Just my first perlgolf contest submission. | |||
| 365.19 | ouch | Fri Jun 7 17:14:06 2002 | $/=4;map{if(!/^$/){s/\s+/ /s;s/^\s*//;map{$w=l($c=$_)-tr/-.,;:'"()&\///;$q=tr/aeiouyAEIOUY//;$d="$q/$w ";$c.=' '.' 'x(l($d)-&l($c)-1)if$c!~/\./;$d.=' 'x(l($c)-&l($d));$m.=$c;if(l($m)>60){substr($m,57)="...";$n.=$d if l($n)<57}else{$n.=$d}$r+=$q;$p+=$w;$j++}split/\s+/;$n=~s/\s*$//;print"$j:\t$m\n$r/$p:\t$n\n";$m=$n=$j=$r=$p=''}}<>=~/(.*?\.)?/msg;sub l{length@_[0]}
|
| 371.19 | BigrTex | Thu Jun 6 19:35:36 2002 | sub d{$_=lc join'',@_;$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"}undef$/;for(<>=~/([^.]*\.)/g){$j=d@x=split;$b=$c=$w=$t="";$s=$x[0];map{$s.=' 'x(3-length$x[$_-1]).' '.$x[$_]}1..$#x;length$s>60?substr($s,57)='.'x3:1;while($c<60&&$b<@x){$z=d$x[$b];$f=length$x[$b++];if(substr($s,$c,1)ne'.'){$t.=$w.$z;$c+=$f=++$f<4?4:$f;$w=' 'x($f-length$z)}}print$#x+1,":^I$s
$j:^I$t
"} |
| Shrink the first loop by one, and the ?: construct goes away, improving 10 scores and one decile. I still need to merge the two construction loops into one, but I'm having trouble getting my mind around it. | |||
| 371.19 | ouch | Fri Jun 7 16:26:35 2002 | $/=4;map{if(!/^$/){s/\s+/ /s;$_.=".";s/^\s*//;map{$w=l($c=$_)-tr/-.,;:'"()&\///;$q=tr/aeiouyAEIOUY//;$d="$q/$w ";$c.=' '.' 'x(l($d)-&l($c)-1)if$c!~/\./;$d.=' 'x(l($c)-&l($d));$m.=$c;if(l($m)>60){substr($m,57)="...";$n.=$d if l($n)<57}else{$n.=$d}$r+=$q;$p+=$w;$j++}split/\s+/;$n=~s/\s*$//;print"$j:\t$m\n$r/$p:\t$n\n";$m=$n=$j=$r=$p=''}}split/\.\s*/,<>;sub l{length@_[0]}
|
| 376.23 | Tom Hargreaves | Fri Jun 7 23:45:57 2002 | -0n map{split&&do{($m,@a,@b,$z)=map[$_,($x=@x=/[aeiouy]/gi).'/'.($y=@y=/\w/gi)],$_,@_;$z++<63and$z+=$q=(sort{$a<=>$b}map y///c,@$_)[1],$r=push@b,[-$q,@$_]for@a;$b[-1][0]=0;($v="@{[map{sprintf'%*s',@$_}@b]}.")=~s/(.{56})(.)(.{4,6}).*/$1$2.../and$r-=@q="$2$3"=~/\s\S/g;$b[--$r][0]=0;print++$#_.":\t$v
$m->[1]:\t@{[map{sprintf'%*s',@$_[0,2]}@b[0..$r]]}
"}}$e=$1while s/(.*?)\.//s |
| I *really* hate perl golf. | |||
| 378.20 | ouch | Fri Jun 7 11:36:56 2002 | $/='!';$_=<>;map{if(!/^$/){s/\s+/ /s;$_.=".";s/^\s*//;map{$w=l($c=$_)-tr/-.,;:'"()&\///;$q=tr/aeiouyAEIOUY//;$d="$q/$w ";$c.=' '.' 'x(l($d)-&l($c)-1)if$c!~/\./;$d.=' 'x(l($c)-&l($d));$m.=$c;if(l($m)>60){substr($m,57)="...";$n.=$d if l($n)<57}else{$n.=$d}$r+=$q;$p+=$w;$j++}split/\s+/;$n=~s/\s*$//;print"$j:\t$m\n$r/$p:\t$n\n";($m,$n,$j,$r,$p)=()}}split/\.\s*/;sub l{length@_[0]}
|
| 381.19 | BigrTex | Thu Jun 6 17:57:01 2002 | sub d{$_=lc join'',@_;$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"}undef$/;for(<>=~/([^.]*\.)/g){$j=d@x=split;$b=$c=$w=$t="";$s=$x[0];map{$x[$_+1]?$s.=' 'x(3-length$x[$_]).' '.$x[$_+1]:1}0..@x;length$s>60?substr($s,57)='.'x3:1;while($c<60&&$b<@x){$z=d$x[$b];$f=length$x[$b++];if(substr($s,$c,1)ne'.'){$t.=$w.$z;$c+=$f=++$f<4?4:$f;$w=' 'x($f-length$z)}}print$#x+1,":^I$s
$j:^I$t
"} |
| 347 looks a long way away right now, but "I think I can, I think I can..." I shaved some strokes turning another if into a ?:1... I wish I could leave that second value a null... | |||
| 384.19 | BigrTex | Thu Jun 6 17:53:34 2002 | sub d{$_=lc join'',@_;$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"}undef$/;for(<>=~/([^.]*\.)/g){$j=d@x=split;$b=$c=$w=$t="";$s=$x[0];map{$x[$_+1]?$s.=' 'x(3-length$x[$_]).' '.$x[$_+1]:1}0..@x;if(length$s>60){substr($s,57)='.'x3;}while($c<60&&$b<@x){$z=d$x[$b];$f=length$x[$b++];if(substr($s,$c,1)ne'.'){$t.=$w.$z;$c+=$f=++$f<4?4:$f;$w=' 'x($f-length$z)}}print$#x+1,":^I$s
$j:^I$t
"} |
| A bunch of little tweaks this morning. My lvalue question on perl-beginners that was asked just for understanding, gave me the final tweak to the substr that put me two rungs up the ladder. | |||
| 386.20 | ouch | Fri Jun 7 11:25:57 2002 | $/='!';$_=<>;map{if(!/^$/){s/[\s]+/ /s;$_.=".";s/^\s*//;map{$w=l($c=$_)-tr/[\-.,;:'"()&\/]//;$q=tr/[aeiouyAEIOUY]//;$d="$q/$w ";$c.=' '.' 'x(l($d)-&l($c)-1)if$c!~/\./;$d.=' 'x(l($c)-&l($d));$m.=$c;if(l($m)>60){substr($m,57)="...";$n.=$d if l($n)<57}else{$n.=$d}$r+=$q;$p+=$w;$j++}split/\s+/;$n=~s/\s*$//;print"$j:\t$m\n$r/$p:\t$n\n";($m,$n,$j,$r,$p)=()}}split/\.\s*/;sub l{length@_[0]}; |
| 387.18 | Rick Cook | Thu Jun 6 12:18:48 2002 | undef$/;for(split/\.\s/,<>){$t=$w=$h=$p=$l="";for$n(split){$d=0;$h++;$c=$n;$f=$d+=$c=~s/[aeiouy]/:/ig;$f+=$c=~s/[a-z\d]/:/ig;$g=$c=~s/.//g;$w+=$d;$t+=$f;$g--if$f>9;$l.="$d/$f "." "x($g-3);$p.="$n "." "x((2-$g)+1)}$p=~s/\s+$/./;while(length$p>60){chop$p;$p=~s/.{3}$/\.\.\./}$p=~/.* [^\.]/g;$l=~/.* \d/g;while(pos$l>pos$p){chop$l;$l=~/.* \d/g}$l=~s/\s+$//;print"$h:\t$p\n$w/$t:\t$l\n"if$h} |
| 387.19 | Will Coleda | Fri Jun 7 01:02:58 2002 | $_=join(" ",<ARGV>);s/\s+$//;while($_){s/(.*?\.)//s&&push@b,$1}for(@b){my(@n,$v,$t,$d,$j,$r);for(split){$v+=@x=/[aeiouy]/gi;$t+=@c=/[a-z0-9]/gi;$k=@x."/".@c;$g=1+length()-length$k;push@n,$k.=" "x($g>0?$g:1);$d.=$_." "x($g>0?1:$g<0?2-$g:2)}$d=~s/\s+$//;if(length$d>($s=60)){substr($d,($s=57))="...";}print@n.":^I$d
$v/$t:^I";for(@n){last if$j>=$s;$j+=length;$r.=$_;}$r=~s/\s+$//;print"$r
"}
|
| more compression. | |||
| 387.25 | ouch | Tue Jun 4 17:54:31 2002 | undef$/;$_=<>;map{if(!/^$/){s/[\s]+/ /s;$_.=".";s/^\s*//;map{$o=l($c=$_)-tr/[\-.,;:'"()&\/]//;$q=tr/[aeiouyAEIOUY]//;$d="$q/$o ";$c.=' '.' 'x(l($d)-&l($c)-1)if$c!~/\./;$d.=' 'x(l($c)-&l($d));$m.=$c;if(l($m)>60){substr($m,57)="...";$n.=$d if l($n)<57}else{$n.=$d}$r+=$q;$p+=$o;$i++}split/\s+/;$n=~s/\s*$//;print"$i:\t$m\n$r/$p:\t$n\n";($m,$n,$i,$r,$p)=()}}split/\.\s*/;sub l{length@_[0]}; |
| 392.24 | Ryan Zachry | Mon Jun 3 22:24:09 2002 | map{s/
/ /g;$x.=$_}<>;map{$q=$z=$c=$o=$p='';for$w(/\S+/g){$q++;$l=$v=0;for$e($w=~/\w/g){$l++;map{$v++if$_=~/$e/i}"aeiouy"=~/./g}$z+=$l;$c+=$v;$o.=($t=length"$v/$l")>($y=length$w)?$w.$"x($t-$y+1):"$w ";$p.=$t>$y?"$v/$l ":"$v/$l".$"x($y-$t+1)}$o=~s/ *$//;if(length$o>60){$o=~s/(.{57}).*/$1.../;$g=$o=~/\s.{4}$/?'\s+)':')';$p=~s/(.{56}$g.*/$1/}$p=~s/ *$//;print"$q:\t$o
$c/$z:\t$p
"}$x=~/.*?\./g |
| 399.18 | BigrTex | Thu Jun 6 17:17:47 2002 | -l sub d{$_=lc join'',@_;$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"}undef$/;for(<>=~/([^.]*?\.)/g){@x=split;$c=$w=$t="";$s=$x[$b=0];map{$x[$b+1]?$s.=' 'x(3-length$x[$b]).' '.$x[++$b]:d}0..@x;if(length$s>60){substr($s,57,999,'.'x3);}$b=0;while($c<60&&$b<@x){$z=d$x[$b];$f=length$x[$b++];if(substr($s,$c,1)ne'.'){$t.=$w.$z;$c+=$f=++$f<4?4:$f;$w=' 'x($f-length$z)}}print$#x+1,":^I$s
",d(@x),":^I$t"} |
| As I was getting ready to shut the computer down, I came across a perldoc window, and one thing led to another, and I found that if I moved the sub to the beginning, I could shave my score under 400... now to aim for 387, the next rung on the ladder... I have some ideas already... | |||
| 402.18 | BigrTex | Thu Jun 6 17:14:18 2002 | -l undef$/;for(<>=~/([^.]*?\.)/g){@x=split;$w="";$s=$x[$b=0];$t=d(@x).":^I";map{$x[$b+1]?$s.=' 'x(3-length$x[$b]).' '.$x[++$b]:d}0..@x;if(length$s>60){substr($s,57,200,'.'x3);}$b=$c=0;while($c<60&&$b<@x){$z=d($x[$b]);$f=length$x[$b++];if(substr($s,$c,1)ne'.'){$t.=$w.$z;$c+=$f=++$f<4?4:$f;$w=' 'x($f-length$z)}}print$#x+1 .":^I$s
$t"}sub d{$_=lc join'',@_;$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"} |
| I got up, had a drink of water, scratched down my idea on a post-it note so I'd remember this morning, but 30 minutes later, my stomach was growling and I still didn't know how the ballgame had turned out so I got myself a bowl of cereal, turned on the tube, and went ahead and typed up my prior improvement, then I still had cereal and didn't know the score so I golfed some more and worked down to this, which I saved off as a good checkpoint before I tried more radical surgery. This is where I'd finally gotten the two print statements combined into one. | |||
| 415.19 | BigrTex | Thu Jun 6 17:07:21 2002 | undef$/;for(<>=~/([^.]*?\.)/g){@x=split;$w="";$s=$x[$b=0];map{$x[$b+1]?$s.=' 'x(3-length$x[$b]).' '.$x[++$b]:t}0..@x;if(length$s>60){$s=substr($s,0,57).'...'}print$#x+1 .":^I$s\n";$b=$c=0;$z=t(@x);print"$z:^I";while($c<60&&$b<@x){$z=t($x[$b]);$f=length$x[$b++];if(substr($s,$c,1)ne'.'){print$w.$z;$c+=$f=++$f<4?4:$f;$w=' 'x($f-length$z)}}print"
"}sub t{$_=lc join'',@_;$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"} |
| I was trying to get to sleep last night (I swear it was too much caffeine in Reno, not this golfing), and thought of an improvement... I could eliminate that funky regex in the <> slurp by just accepting everything but a . until the period, and then I realized that I could just loop on the slurp's regex instead of storing to an array... | |||
| 427.21 | Will Coleda | Fri Jun 7 00:41:02 2002 | $_=join(" ",<ARGV>);s/\s+$//;while($_){s/(.*?\.)//s&&push@b,$1}for(@b){my(@n,$v,$t,$d,$j,$r);for(split){$v+=@x=/[aeiouy]/gi;$t+=@c=/[a-z0-9]/gi;$k=@x."/".@c;$_.=" ";$g=length()-length$k;if($g>0){$k.=" "x$g}elsif($g<0){$_.=" "x(1-$g);$k.=" "}else{$k.=" ";$_.=" "}push@n,$k;$d.=$_}$d=~s/\s+$//;if(length$d>($s=60)){substr($d,($s=57))="...";}print@n.":^I$d
$v/$t:^I";for(@n){last if$j>=$s;$j+=length;$r.=$_;}$r=~s/\s+$//;print"$r
"}
|
| 445.19 | BigrTex | Thu Jun 6 17:01:18 2002 | undef$/;@d=(<>=~/([-a-zA-Z0-9.,;:'"()&\/ ^I
]*?\.)/g);for(@d){@x=split;$w="";$s=$x[$b=0];map{$x[$b+1]?$s.=' 'x(3-length$x[$b]).' '.$x[++$b]:t}0..@x;if(length$s>60){$s=substr($s,0,57).'...'}print$#x+1 .":^I$s\n";$b=$c=0;$z=t(@x);print"$z:^I";while($c<60&&$b<@x){$z=t($x[$b]);$f=length$x[$b++];if(substr($s,$c,1)ne'.'){print$w.$z;$c+=$f=++$f<4?4:$f;$w=' 'x($f-length$z)}}print"
"}sub t{$_=lc join'',@_;$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"} |
| Here's my first submission this morning. This is what I was able to accomplish on the plane coming home yesterday. I was able to combine statements in a couple of places, still nothing fancy. | |||
| 452.25 | Sheldon Fuchs | Fri Jun 7 21:15:49 2002 | sub a{$_=pop;length==1?s/$/ /:length==2?s/$/ /:s/$/ /;$_}$a.=$_ for<>;for(split/\./,$a){!/^\s+$/||next;my(@a,$s,$p,$t,$u,$m);map{$p.=a($_);$s++;$v=s/[aeiouy]/1/gi||0;$w=s/[A-z0-9]//g||0;$u+=$v;$m+=$w;push@a,"$v/$w"}split;$d="$u/$m";$p=~s/\s+$//;if(length($p)>59){$p=~s/(.{57}).+/$1../}$e=$p;$p=~s/\.+$//;map{$a=shift@a;$b=length($a);$_=a($_);s/.{1,$b}(.+)/_$1/;s/[^_]/ /g;s/_/$a/g;$t.=$_;}split' ',$p;print"$s:\t$e.\n";$t=~s/\s+$//;print"$d:\t$t\n"} |
| 462.24 | Ryan Zachry | Mon Jun 3 20:32:53 2002 | map{s/\n/ /g;$x.=$_}<>;for($x=~/(.*?\.)/g){$q=$z=$c=0;$o=$p='';for$w(/\S+/g){$q++;$l=$v=0;for$e($w=~/\w/g){$l++;map{$v++if$_=~/$e/i}"aeiouy"=~/./g}$z+=$l;$c+=$v;$t=length"$v/$l";$y=length$w;if($t>$y){$o.=$w.$"x($t-$y+1);$p.="$v/$l "}else{$o.="$w ";$p.="$v/$l".$"x($y-$t+1)}}$o=~s/\s*$//;$p=~s/\s*$//;if(length$o>60){$o=~s/(.{57}).*/$1.../;if($o=~/.*\s\S\.\.\.$/){$p=~s/(.{57}\S+).*/$1/}else{$p=~s/(.{56}).*/$1/}}$p=~s/\s*$//;print"$q:\t$o\n";print"$c/$z:\t$p\n"} |
| number one baby! | |||
| 463.19 | BigrTex | Wed Jun 5 23:26:28 2002 | undef$/;@d=(<>=~/([-a-zA-Z0-9.,;:'"()&\/ ^I
]*?\.)/g);for(@d){@x=split;$w="";$s=$x[$b=0];map{if($x[$b+1]){$s.=' 'x(3-length$x[$b]);$s.=' '.$x[++$b]}}0..$#x+1;if(length$s>60){$s=substr($s,0,57).'...'}print$#x+1 .":^I$s\n";$b=$c=0;$z=t(@x);print"$z:^I";$z="";while($c<60&&$b<=$#x){$z=t($x[$b]);$f=length$x[$b++];if(substr($s,$c,1)ne'.'){print$w.$z;$c+=$f=++$f<4?4:$f;$w=' 'x($f-length$z)}}print"
"}sub t{$_=lc join'',@_;$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"} |
| A few more strokes before I have to leave for the airport. I'll probably golf some on the plane this evening. | |||
| 466.29 | Matthias Schoder | Fri Jun 7 23:46:41 2002 | sub a{length pop}local$/;$_=<>;s/^\s*//;@i=split//;for(@i){$s=0,++$l,$t++if/\w/;++$w,$v++if/[aeiouy]/i;$z.=$_ if!/[\s.]/;if(/[\s.]/&&!$s){$x++;$s++;$c=0+$w.'/'.$l;$m=a($c)- a$z if!/\./;push@z,$z;@u=split//,"@z";push@c,$c;$z='';if(/\./){if(@u>59){$u[57]=$u[58]='.';splice@u,59,@u-59;$u=join'',@u;$u=~s/ [ .]*$//;splice@c,split/ +/,$u}print$x,":^I",@u,".\n";$c[-1]=~s/ *$//;print 0+$v,'/',$t,":^I@c\n";@z=@c=();$x=$v=$t=0}else{$c[-1].=' 'x-$m;$z[-1].=' 'x$m}$m=$w=$l=0}} |
| 467.20 | BigrTex | Wed Jun 5 22:56:27 2002 | undef$/;@d=(<>=~/([-a-zA-Z0-9.,;:'"()&\/ ^I
]*?\.)/g);foreach(@d){@x=split;$w="";for($s=$x[$b=0];$b<$#x;){if($x[$b+1]){$s.=' 'x(3-length$x[$b]);$s.=' '.$x[++$b]}}if(length$s>60){$s=substr($s,0,57).'...'}print$#x+1 .":^I$s\n";$b=$c=0;$z=t(@x);print"$z:^I";$z="";while($c<60&&$b<=$#x){$z=t($x[$b]);$f=length$x[$b++];if(substr($s,$c,1)ne'.'){print$w.$z;$c+=$f=++$f<4?4:$f;$w=' 'x($f-length$z)}}print"
"}sub t{$_=lc join'',@_;$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"} |
| eliminated 3 strokes by deleting the 4 parens in my lc/join statement in the sub, pulling myself out of last place... | |||
| 467.22 | Subhash Chandra | Wed Jun 5 08:01:05 2002 | -l $/=".";map{s/\n+/ /g;s/^\s+//g;push@$p,[split/\s+/]}<>;push@$d,[map{0+s/[aeiouy]/$&/ig."/".s/[a-z0-9]/$&/ig}@$_]for@$p;map{sort{map{$l=length($$a[$_])-length($$b[$_]);$l>0?$$b[$_].=' 'x$l:$$a[$_].=' 'x-$l;}0..@$a-2;$s="@$a";$i=$t=0;for(@$b){/(\d+)\/(\d+)/;$i+=$1;$t+=$2;}if(length$s>60){substr($s,57)='...';$k=0;for(0..@$b-1){$k+=length($$b[$_])+1;if($k>56){$#$b=$_;last;}}}($s2="@$b")=~s/ +$//;print scalar@$a,":\t$s";print"$i/$t:\t$s2";}$$d[$_],$$p[$_]}0..@$p-2; |
| First try | |||
| 468.28 | Matthias Schoder | Fri Jun 7 23:44:06 2002 | sub a{length pop}local$/;$_=<>;s/^\s*//;@i=split//;for(@i){$s=0,++$l,$t++if/\w/;++$w,$v++if/[aeiouy]/i;$z.=$_ if!/[\s.]/;if(/[\s.]/&&!$s){$x++;$s++;$c=0+$w.'/'.$l;$m=a($c)- a$z if!/\./;push@z,$z;@u=split//,"@z";push@c,$c;$z='';if(/\./){if(@u>59){$u[57]=$u[58]='.';splice@u,59,@u-59;$u=join'',@u;$u=~s/ [ .]*$//;splice@c,split/ +/,$u}print$x,":^I",@u,".\n";$c[-1]=~s/ *$//;print 0+$v,'/',0+$t,":^I@c\n";@z=@c=();$x=$v=$t=0}else{$c[-1].=' 'x-$m;$z[-1].=' 'x$m}$m=$w=$l=0}} |
| 470.20 | BigrTex | Wed Jun 5 22:54:12 2002 | undef$/;@d=(<>=~/([-a-zA-Z0-9.,;:'"()&\/ ^I
]*?\.)/g);foreach(@d){@x=split;$w="";for($s=$x[$b=0];$b<$#x;){if($x[$b+1]){$s.=' 'x(3-length$x[$b]);$s.=' '.$x[++$b]}}if(length$s>60){$s=substr($s,0,57).'...'}print$#x+1 .":^I$s\n";$b=$c=0;$z=t(@x);print"$z:^I";$z="";while($c<60&&$b<=$#x){$z=t($x[$b]);$f=length$x[$b++];if(substr($s,$c,1)ne'.'){print$w.$z;$c+=$f=++$f<4?4:$f;$w=' 'x($f-length$z)}}print"
"}sub t{$_=lc(join('',@_));$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"} |
| Finally figured out how to eliminate my $c+=$f, piddly stuff for a y-index of 33, but my current goal is to crawl out of last place in the beginners. | |||
| 470.28 | Matthias Schoder | Fri Jun 7 23:39:01 2002 | sub a{length pop}local$/;$_=<>;s/^\s*//;@i=split//;for(@i){$s=0,++$l,++$t if/\w/;++$w,++$v if/[aeiouy]/i;$z.=$_ if!/[\s.]/;if(/[\s.]/&&!$s){$x++;$s++;$c=0+$w.'/'.$l;$m=a($c)- a$z if!/\./;push@z,$z;@u=split//,"@z";push@c,$c;$z='';if(/\./){if(@u>59){$u[57]=$u[58]='.';splice@u,59,@u-59;$u=join'',@u;$u=~s/ [ .]*$//;splice@c,split/ +/,$u}print$x,":^I",@u,".\n";$c[-1]=~s/ *$//;print 0+$v,'/',0+$t,":^I@c\n";@z=@c=();$x=$v=$t=0}else{$c[-1].=' 'x-$m;$z[-1].=' 'x$m}$m=$w=$l=0}} |
| 472.28 | Matthias Schoder | Fri Jun 7 23:37:47 2002 | sub a{length pop}local$/;$_=<>;s/^\s*//;@i=split//;for(@i){$s=0,++$l,++$t if/\w/;++$w,++$v if/[aeiouy]/i;$z.=$_ if!/[\s.]/;if(/[\s.]/&&$s==0){$x++;$s++;$c=0+$w.'/'.$l;$m=a($c)- a$z if!/\./;push@z,$z;@u=split//,"@z";push@c,$c;$z='';if(/\./){if(@u>59){$u[57]=$u[58]='.';splice@u,59,@u-59;$u=join'',@u;$u=~s/ [ .]*$//;splice@c,split/ +/,$u}print$x,":^I",@u,".\n";$c[-1]=~s/ *$//;print 0+$v,'/',0+$t,":^I@c\n";@z=@c=();$x=$v=$t=0}else{$c[-1].=' 'x-$m;$z[-1].=' 'x$m}$m=$w=$l=0}} |
| 474.28 | Matthias Schoder | Fri Jun 7 23:28:39 2002 | sub a{length pop}local$/;$_=<>;s/^\s*//;@i=split//;for(@i){$s=0,++$l,++$t if/\w/;++$w,++$v if/[aeiouy]/i;$z.=$_ if!/[\s.]/;if(/[\s.]/&&$s==0){$x++;$s++;$c=0+$w.'/'.$l;$m=a($c)- a$z if!/\./;push@z,$z;@u=split//,"@z";push@c,$c;$z='';if(/\./){if(@u>59){$u[57]=$u[58]='.';splice@u,59,@u-59;$u=join'',@u;$u=~s/ [ .]*$//;splice@c,split/ +/,$u}print$x,":\t",@u,".\n";$c[-1]=~s/ *$//;print 0+$v,'/',0+$t,":\t@c\n";@z=@c=();$x=$v=$t=0}else{$c[-1].=' 'x-$m;$z[-1].=' 'x$m}$m=$w=$l=0}}
|
| 476.26 | Matthias Schoder | Fri Jun 7 23:10:43 2002 | sub l{length pop}local$/;$_=<>;s/^\s*//;@i=split//;for(@i){$s=0,++$l,++$t if/\w/;++$w,++$v if/[aeiouy]/i;$z.=$_ if!/[\s.]/;if(/[\s.]/&&$s==0){$x++;$s++;$c=0+$w.'/'.$l;$m=l($c)- l($z) if!/\./;push@z,$z;@u=split//,"@z";push@c,$c;$z='';if(/\./){if(@u>59){$u[57]=$u[58]='.';splice@u,59,@u-59;$u=join'',@u;$u=~s/ [ .]*$//;splice@c,split/ +/,$u}print$x,":\t",@u,".\n";$c[-1]=~s/ *$//;print 0+$v,'/',0+$t,":\t@c\n";@z=@c=();$x=$v=$t=0}else{$c[-1].=' 'x-$m;$z[-1].=' 'x$m}$m=$w=$l=0}} |
| 477.19 | BigrTex | Wed Jun 5 22:33:53 2002 | undef$/;@d=(<>=~/([-a-zA-Z0-9.,;:'"()&\/ ^I
]*?\.)/gm);foreach(@d){@x=split;$w="";for($s=$x[$b=0];$b<$#x;){if($x[$b+1]){$s.=' 'x(3-length$x[$b]);$s.=' '.$x[++$b]}}if(length$s>60){$s=substr($s,0,57).'...'}print$#x+1 .":^I$s\n";$b=$c=0;$z=t(@x);print"$z:^I";$z="";while($c<60&&$b<=$#x){$z=t($x[$b]);$f=length$x[$b++];if(substr($s,$c,1)!~/\./){print$w.$z;$f=++$f<4?4:$f;$c+=$f;$f-=length$z;$w=' 'x$f}}print"
"}sub t{$_=lc(join('',@_));$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"} |
| $str -> $s sub sb -> sub t I hate that ugly -a-zA-Z1-9... regex, but .* doesn't work with the stupid paren/" test script. | |||
| 478.26 | Matthias Schoder | Fri Jun 7 22:53:57 2002 | sub l{length pop}local$/;$_=<>;s/^\s*//;@i=split//;for(@i){$s=0,++$l,++$t if/\w/;++$w,++$v if/[aeiouy]/i; $z.=$_ if!/[\s.]/;if(/[\s.]/&&$s==0){$x++;$s++;$c=0+$w.'/'.$l;$m=l($c)- l($z) if !/\./;push@z,$z;@u=split//,"@z";push@c,$c;$z='';if(/\./){if(@u>59){$u[57]=$u[58]='.';splice@u,59,@u-59;$u=join'',@u;$u=~s/ [ .]*$//;splice@c,split/ +/,$u}print$x,":\t",@u,".\n";$c[-1]=~s/ *$//;print 0+$v,'/',0+$t,":\t@c\n";@z=@c=();$x=$v=$t=0}else{$c[-1].=' 'x-$m;$z[-1].=' 'x$m}$m=$w=$l=0}} |
| 493.28 | Sheldon Fuchs | Fri Jun 7 17:00:05 2002 | $a.=$_ for<>;map{if(!/^\s+$/){my(@b,$b,$c,$e,$f,$s);@c=@d=@a=split;map{$z=s/[aeiouy]/1/gi||0;$y=s/[A-z0-9]//g||0;push(@b,($z."/".$y));$e+=$z;$f+=$y;}@a;map{a($_)==1?s/$/ /:a($_)==2?s/$/ /:s/$/ /;$s.=$_}@c;$s=~s/\s+$//g;if(a($s)>59){while(a($s)>57){chop$s}$s.=".."};$d=@c;print"$d:\t$s.\n";$s=~s/\s+\.+$//;for(0..$s=~s/\s+//g){$a=shift@b;($v,$d)=split'/',$a;$b=a(shift@d);$a.=" "x($b<3?$b==1?1:a($a)-$b:$b-(a($a))+1);$c.=$a}$c=~s/\s+$//;print"$e/$f:\t$c\n"}}split/\./,$a;sub a{length(shift)}
|
| 497.18 | BigrTex | Wed Jun 5 22:12:37 2002 | undef$/;@d=(<>=~/([-a-zA-Z1-90.,;:'"()&\/ ^I
]*?\.)/gm);foreach(@d){@x=split;$w="";for($str=$x[$b=0];$b<$#x;){if($x[$b+1]){$str.=' 'x(3-length$x[$b]);$str.=' '.$x[++$b]}}if(length$str>60){$str=substr($str,0,57).'...'}print$#x+1 .":^I$str\n";$b=$c=0;$z=sb(@x);print"$z:^I";$z="";while($c<60&&$b<=$#x){$z=sb($x[$b]);$f=length$x[$b++];if(substr($str,$c,1)!~/\./){print$w.$z;$f=++$f<4?4:$f;$c+=$f;$f-=length$z;$w=' 'x$f}}print"
"}sub sb{$_=lc(join('',@_));$p=y/a-z0-9/a-z0-9/;$q=y/aeiouy//;return"$q/$p"} |
| 977->497 isn't quite half, but compared to my early 1000+, I've cut out half my code without changing anything except deleting comments, whitespace, and parens. There probably are still extras, but I want to get this in before I start playing with combining statements. | |||
| 500.21 | Erik Beatty | Thu Jun 6 18:25:24 2002 | @w=split/\s+|\n/,join"",<>;sub p{print"$c:\t$l\n$u/$v:\t$z\n";$l="";$z="";$c=0;$u=0;$v=0}sub l{length shift}for$w(@w){next if$w!~/\w+/;$c++;$u+=$x=(lc$w)=~y/aeiouy//;$v+=$y=(lc$w)=~y/0-9a-z//;if($p){if($w=~/\./){$p=0;p}next;}$l.="$w";$z.="$x/$y";if($l!~/\.$/){while(l($l)<l($z)){$l.=$"}while(l($z)<l($l)){$z.=$"}$l.=$";$z.=$";}if($l=~/\.$/||l($l)>60){$p=1 if$w!~/\.$/;if(l($l)>60){$l=~/($w\s*)$/;$z=~s/$x\/$y\s*$// if 60-(l($l)- l($1))<4;$l=substr($l,0,57)."...";}$l=~s/\s*$//;$z=~s/\s*$//;p if!$p;}} |
| I'm really missing something on this one.. can't wait till the post-mortems.. | |||
| 519.23 | Will Coleda | Thu Jun 6 06:39:31 2002 | $i=join(" ",<ARGV>);while($i){$i=~s/\s+$//;$i=~s/(.*?\.)//s&&push@a,$1}for$s(@a){$s=~s/^\s+//;@w=split(' ',$s);my($v,$t,$d,@n);for(@w){$_.=" ";@x=/[aeiouy]/gi;
@c=/[a-z0-9]/gi;$k=@x."/".@c;$g=length($k);$h=length;if($g<$h){$k.=" "x($h-$g)}elsif($g>$h){$_.=" "x(1+$g-$h);$k.=" "}else{$k.=" ";$_.=" "}$t+=@c;$v+=@x;push@n,$k;$d.=$_}$d=~s/\s+$//;$s=60;if(length($d)>60){substr($d,57)="...";$s=57}print@w.":\t$d
$v/$t:\t";my($j,$o);for($m=0;$m<=$#n;$m++){last if$j>=$s;$j+=length($n[$m]);$o.=$n[$m]}$o=~s/\s+$//;print"$o
"}
|
| very inelegant. | |||
| 718.25 | Sec | Tue Jun 4 16:11:07 2002 | -l
#$M=1 if ("@a"=~/dots/);
@a=<>;
($_="@a")=~s/\s+/ /sg;
for(/.*?\./g){
^I$p=$a=$b=$i=0;
^I$v=-1;
^I$c=@l=map {
^I^I$z=length;
^I^I$a+=$q[$i]=@{[/[aeiouy]/gi]};
^I^I$q[$i].="/".($c=@{[/\w/g]});
^I^I$q[$i].=" "x($z-length($q[$i]));
^I^I$i++;
^I^I$b+=$c;
^I^I$_.=" "x(3-$z)if(!/\./);
^I^Iprint "v=$v, len=",length," together:",$v+1+length if $M;
^I^Iif($v+1+length($_)>60){
^I^I^I$p=$i-1;
^I^I^Iprint "Line too long" if $M;
^I^I^Iif($v+1+3+1>60){
^I^I^I^Iprint "No chars will be printed" if $M;
^I^I^I^I$p--;
^I^I^I^I$p-- if ($sixty);
^I^I^I};
^I^I^I$v=-999;
^I^I};
^I^I$sixty=($v+1+length($_)==60);
^I^I$v+=1+length;
^I^I$_;
^I} split;
^I$p||=$c-1;
^I$q[$p]=~s/ +$//;
^Iprint "$c:^I",c(@l);
^Iprint "$a/$b:^I@q[0..$p]";
};
sub c{
^Ilength($_="@_")>60 && s/(?<=.{57}).*/.../;
^I$_;
};
|
| Damn cut&paste ruined the tabs, sorry | |||
| 977.22 | BigrTex | Wed Jun 5 21:32:00 2002 | undef $/;
#$_=$1;$in=$2;
#print "new in: $in\n";
#$_=<>;
#print;
#print "\n";
#s/\"/\\\"/g;
#print;
#print "\n";
@d=(<>=~/([-a-zA-Z1-90.,;:'"()&\/ ^I
]*?\.)/gm);
#for($i=0;$i<=$#d;$i++){print"d$i: $d[$i]\n"}
foreach(@d){
@x=split;
$w="";
#for($i=0;$i<=$#x;$i++){print"x$i: $x[$i]\n"}
#do i need this if anymore?
for($str = $x[$b=0];$b<$#x;){
if ($x[$b+1]){
$str.=' 'x (3-length($x[$b]));
$str.=' '.$x[++$b]
}}if(length($str)>60){
$str=substr($str,0,57).'...'
}print $#x+1 .":^I$str\n";
$b=$c=0;$z=sb(@x);
print "$z:^I";$z="";
while($c<60&&$b<=$#x){
$z=sb($x[$b]);
$f=length($x[$b++]);
^Iif (substr($str,$c,1)!~/\./) {
^I print $w.$z;
$f=++$f<4?4:$f;$c+=$f;
$f-=length($z);
$w=' 'x$f}
## elsif ($c<60) {
#^I print $w.substr($str,$c,1)}
}
print "\n"}
sub sb{
$_=lc(join(' ',@_));
$p=y/a-z0-9/a-z0-9/;
$q=y/aeiouy//;
return"$q/$p"
} |
| I wish I had a diff on this machine. I hadn't understood that digits counted as letters in the "v/l" constructs. This code passes the test script, if it passes the judges, I'll quickly strip off some of the 977 characters (spaces, comments, etc.), and then I get to start actually golfing! | |||
| 980.29 | Amir Karger | Tue Jun 4 01:36:18 2002 | -w use strict;
$/ = ".";
my ($s1,$s2, $l1, $l2, $q, $max);
while (<>) {
s/^\s+//;
next if /^\s*$/;
my ($totv, $totl) = count($_);
my @word = split/\s+/;
$s1 = $s2 = "";
foreach my $w (@word) {
^I$max = ($l1= length $s1)> ($l2 = length $s2)? $l1 : $l2;
^I&space($s1); # noop at start; don't add spaces after period
^I&space($s2);
my ($v, $l) = count($w);
^Imy $try1 = "$w";
^Imy $try2 = "$v/$l";
^I$s1 .= $try1;
^I$s2 .= $try2;
}
if ($s1 =~ s/(.{57})....+/$1.../) { # need to modify
^I$q="";
while ($s1 =~ /\b\S+(([^.]?)\.+$)?/g) {
^I unless ($1 && !$2) { # unless last string is just dots
^I $s2 =~ s#\s*[\d/]+##;
^I^I$q.=$&;
^I }
^I}
} else {
$q = $s2;
}
print scalar @word . ":\t$s1\n$totv/$totl:\t$q\n";
}
sub space {
$_[0] &&= sprintf("%-*s", $max+1, $_[0]);
}
sub count {
my $s = shift;
my $vowels = $s =~ y/aeiouyAEIOUY//;
my $letters = $s =~ y/A-Za-z0-9//;
return ($vowels, $letters);
} |
| This assignment is hard! I spent so much time just getting a working solution that I decided to submit it. I'll pretend it's so that newbies can look at it for learning purposes later on. It's really just there because I spent so much freaking time on it. | |||
| 2836.41 | André Savigne | Thu Jun 6 05:55:48 2002 | eval eval '"'.
'\\'.'$'.'/'.('=').
"'".'.'."'".';'.('['^(',')).(
'`'|'(').('`'|')').('`'|',').("\`"|
'%').'('.'<'.'>'.')'.'\\'.'{'.'\\'.('@').
':'.'='.('['^'(').('['^'+').('`'|',').(('`')|
')').('['^'/').';'.('!'^'+').'\\'.'@'.('`'|"\.").
'='.('`'|'-').('`'|'!').('['^'+').'\\'.'{'.'\\'.'$'
.('['^'/').'+'.'='.'('.'\\'.'$'.('['^'(').'+'.'='.''.
'\\'.'@'.'='.'='.'/'.'\\'.'\\'.('['^',').'/'.('`'|"'").
','.'\\'.'$'.'_'.'.'.'='.'\\'.'$'.'\\'.'"'.('['^'#').'('.
('^'^('`'|'-')).'-'.('`'|',').('`'|'%').('`'|'.').('`'|"'")
.('['^'/').('`'|'(').')'.','.'\\'.'$'.';'.'='.('['^('+')).(
'`'|'!').('`'|'#').('`'|'+').('{'^'[').('`'^'!').'.'.('['^'"'
).')'.')'.')'.('`'|'#').','.('`'|',').('`'|'#').'='.'~'.('['^
'"').')'.('`'|'!').('`'|'%').('`'|')').('`'|'/').('['^"\.").(
'['^'"').')'.')'.'.'."'".'/'."'".'.'.'\\'.'@'.'='.')'.';'.'\\'.
'$'.';'.'\\'.'}'.'\\'.'@'.':'.';'.('!'^'+').'\\'.'$'.':'.('=').
'~'.('['^'(').','.('{'^'[').'\\'.'$'.','.','.','.'\\'.'$'."\:".
'='.'~'.('['^'(').'\\'.'@'.'('.'.'.'\\'.'{'.('^'^('`'|('+'))).(
'^'^('`'|')')).'\\'.'}'.')'.'.'.'\\'.'{'.('^'^('`'|'*')).(',').
'\\' .'}'.'\\'.'@'.'\\'.'$'.('^'^('`'|'/')). '.'.
'.'. '.'.'\\'.'@'.','.'\\'.'@'.(('`')| '.')
.'=' .'\\'.'@'.('`'|'.').('[').( '^'^
('`'| '.')).'.'.'.'.'-'.('^'^ ('`'|
'/')) .'+'.('['^'(').("\["^ '+').
("\`"| ',').('`'|"\)").( ('[')^
'/'). '/'.'['.('.').( "\{"^
"\["). ']'.'+'."\/". (',').
'\\'.+ '$'.':'.']' ."\,".
'\\'. '$'."\~". "\=".
'\\'.+ '@'."\:". ('.').
'('.''. ('\\'). ('$').(
'['^'(' )."\=". ('\\').
'$'.('[' ^'/') .'='.''.
'\\'.'"'. ':'.( '*'^'#').
'\\'."\$". ':'.( '!'^"\+").
'\\'.('$').( '['^'/' )."\/".'\\'.
'$'.('['^'(').':'.('*'^'#').'\\'.'@'.("\`"|
'.').('!'^'+').'\\'.'"'.')'.','.'\\'.'$'.
'~'.'='.'~'.('['^'(').','.('{'^'[').'+'
.'\\'.'$'.','.','.','.('['^'+').('['^
')').('`'|')').('`'|'.').('['^'/'
).'\\'.'$'.'~'.('`'|')').("\`"|
'&').'\\'.'$'.':'.'='.('\\').
'"'.'\\'.'@'.':'.'\\'.'"'
.('!'^'+').'\\'.'}'.(
'!'^'+')."\"";$:=
'ton hospel';
'@'|"\(";
|
| The only known image of Ton Hospel [*]. [*] taken from Roswell archives, circa 1974 |
| Score | Golfer | Submit Time | Code |
| 154.22 | Ton Hospel | Fri Jun 7 22:16:27 2002 | -ap056 @Q=map$_^($_^=$:^$:)^lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F";s/(.{57})...+\./$1.../;s!.+!$#Q $&
@Q[0..s/[ .]+//g]
!;s/\0/ /g;s/ +(.*\S).*/:^I$1/g |
| First do some wild xor-ing. Then fix everything up using only substitutes. | |||
| 159.35 | Marko Nippula | Thu Jun 6 19:20:25 2002 | -ap056 @f=map{$_|=$:^$:;$"x+y|| ^A-z|c|y|youYOUaiIEeA||.'/'.s|\w|$&|g}$_,@F;s,(.{57})..+\w.*,$1...,,$#f=@R=/\w\S*/g,$_=@F." $_
@f
"if$_="@F";s; +(.*?) *
;:^I$1;g
|
| Uses \r to make entry look shorter than it is. (The only way to get below 160 I've discovered this far. :) | |||
| 169.25 | Marko Nippula | Fri Jun 7 21:24:39 2002 | -ap056 $_=pack+u,'Y\xbbX\xa9\xebx^S\xff\x98^Q_\x84Ua^B\xd4\xbd\x8f=$\xcd\xe4\xf89@\xbc^O\xefk2zh\xbd<A\x8f\x9aC\x82<#\xb0?\xcd9<A\x8f\x93\xa0›t#^[ul^L \xee^\G\xa2N8\xbf48\xa3^D,\xe3\x8e0\xc1^C\xb5\x86\xea`\xfe\xfeH\xefK>C^D\xfd\x84›-\xb7N^I!?\xf5\xbb} h\xc4\xfd\x80›t%\xb0?\xcc^K \xe2\x9a%"\xbd=_1^P\xbf+>@\xc0';y/1-Z/7 ^A9-@5Fa-}/;eval |
| This is longer version of entry that got refused due to platform specific differences in pack"u". Hopefully this is the ugliest *functioning* entry submitted. ;) | |||
| 175.23 | seano | Thu Jun 6 04:27:24 2002 | -ap056 ($g,@v)=map{map y/aeiouy//.'/'.s/\w//g,lc}$_="@F",@F;$n=1+s/\S+ /$&|"\0 "/eg;s/(.{57}).{4,}/$1.../;$x=$_;s/[^ .]+ */shift@v|$"x length$&/eg;s/(.*\d).*/$n:^I$x
$g:^I$1
/
|
| One longer than it has to be, but Web-save(tm)! | |||
| 176.23 | seano | Thu Jun 6 03:05:24 2002 | -ap056 ($g,@v)=map{map y/aeiouy//.'/'.s/\w//g,lc}$_="@F",@F;$n=1+s/\S+ /$&|"\0 "/eg;s/(.{57}).{4,}/$1.../;$x=$_;s/[^ .]+ */shift@v|$"x length$&/eg;s/^(.*\d).*/$n:^I$x
$g:^I$1
/
|
| The command-line gods have been good to me. I swore if I broke 200 I would turn pro, and much to my surprise, here we go. Minor unorthodoxy for the literal \t and \n -- hope they're legal. | |||
| 244.25 | Sec | Fri Jun 7 00:08:30 2002 | -ap056 ($_=pack u,q{^S\xf7D\xd9\xd1^ZtN^]^P^GD\xc1\xd0\x82n\x99\x88\x83'@\x87^H\x84\xfc\xe7D^K\x82^S(^S\xfc8\xf3l\x96\xe9\xf4\xa0\x96\xc4j8\xdd^S^CH^Sg\x95X\x93H^Sg\x96@\x9af \x81^Pv\xc9n\x9fJ^IxGM^Sb[^S^B\xcblM‹u^R\xc4A\xb1 -\xd8$t\xff7>v\xc4\xe0\xb7`\x8d\xd3\xfb\x86Zo\xd7\x9fO\xa6v\xf3\xc3*n\xd2`\x854D3^H\xc8#8#\xc2:^I$\x83\xa2b^P<\x9d^Q\xaaf^Q\xa6\xc4\xfd\xd0\xa0\xe8&\xf3<\x83\xa2Uy^I8\xe3\x8e,\xf1^Q8\xe3\x8flO\xdd^HL^Z\xacO\xea^S\x83\xc4^A\xaa\xe0\xca\xa0›\xcc\xf1\xcb^P\xf3\xe4\xaa})=~y/'A-Z`/ a{-}e-i\n\tl n-yFm/;eval
|
| Compression take two - without ^Ms this time. | |||
| 666.66 | Lucifer Sam | Sun Jun 2 09:18:34 2002 | -ap056 #ooiiiooiiiooiiiooooiiiooiiio io oy sub baphomet{1*y/aeiouyAEIOUY//. #oiooooiooooiooooooiooooioooo oeoo uyyy
v47.(@Q=/\w/g)}*cthulthu=*F; #oiiiooiiiooiiiooooiiiooiiioo oeuuoyy
$leviathan=69-9.6|0;$behemoth= #oiooioiooioiooioooiooioiooio uuiiioy
$satan=":\t";$behemoth^=($belial=#ooiioooiioooiiooiooiioooiioo uuioiiiyeoo
($satan^$behemoth).$behemoth=~v47&v0 x666).baphomet, # aooooooooyooooe
($satan^=$belial.$_)=~s/(.{$leviathan}).{4,}/$1.../&&# aeiouy oay
$behemoth=~s/\0+(??{$+[0]<$leviathan&&v69}).*//for@cthulthu;# oay
$_=@cthulthu?@cthulthu."$satan\n".baphomet."$behemoth\n":$astaroth; y /\0/ /
|
| 666.66 The Beast's golf score | |||
| 5004.40 | Bret Victor | Thu Jun 6 07:24:05 2002 |
$^='$#/$=;"%>&"(;;:{(`)`<`%`()(*
$#%{=;<;>;)$)%;{@@&@=;#{@{<`)`${
(&:(@): *<#$$%{)%;;$&(
[=;$(& [=;$ ) :[=;$**[=;"#"
$;;@@*[=;( % ) &;;&`/`"{$(!
`()@@&@)* ; {$# &[;$=;$%&{=
;$&!`=;> { ){/(! `%`)`/`%{)
{!@%@)@ / @%[)[/) /*;;$#:[;
$=; $%<`=;$&
!`=;> { #{/(;[>[<[: [/[=[/)
$*&# / $:`;;$%!`>&=; :(@):*
({(## ;=$<`%`>`:`${ (`$%!
`) &)`&`;(;)$ *([ <;@@&@;;@{%{#{(`@#@@*[<$<`%`>`:`
${(`$%!`<&"($)&{/*$#<`"$={$%%{=; "&@@&@"(;;$)%{=;>{#{/*(#>$;{%;:;
={)%>&>(>)>*;#/$$%!;>&>(>)/*;;$# *[>$ =;"%%
&=( *) # {@*"
i s #&`/`" { ($$%%{=;>{/& @(;[
>[@)>* = [/#:`) $;;@@& @&%&
f o r &@{"{) ` >`${& `"(%)#{$**[
%#>` %$#{<[>`"%<
A U T O S P L I T &"($)( [ *;<[$ {$*%{<[>`$#
&[/$$% : [*;<[$ {"&<(@ @*[=
{';'$# / $=;"%>&"(;;:{ ()<%
()( *$ # %{=;
<;>;)$)%;{@@&@=;#{@{<)${(&:(@):* <#$$ %{)%
;;$&([=;$(&[=;$):[=;$**[=;"#"$;; @@*[=;(%)&;;&/"{$(!()@@&@)*;{$#&
[;$= ;$%&{ =;$&!=;>{){/(!%)/%{){!@%@)@/@%[)
[/)/ *;;$
#:[; $=;$%< = ;$&!=;> {#{/ i s
(;[> [<[:[/[ = [/)$*&#/ $:;;
$%!>&=;:(@): * ({(##;=$<%>:$ f o r
{($%!)&)&;(; ) $*([<;@@&@;;@
{%{#{(@#@@*[ < $<%>:${($%!<& E V A L
"($) &{/*$#< " $={$%%{= ;"&@
@&@" (;;$)% { =;>{#{/ *(#>
$;{% ;:;=
[['; $~=' $:="";$^=~'.("]"^'$').'*:*\'*;$^
=~'.('['^'(').'|([@!-*/:->]).*?' .'([#-*;@[`{])|;;$:.=$'.++$%.'&(
"!"&"\\""^"/")\|$'.++$%.'&(("_"^ "/"))|'.('[ >)>*;#/$$%!
;>&>(>)/ *;;$#*[>
i s $=;"%% &=(*)#{ @*"#&/
"{($$ % %{=;>{/& @(;[>
f o r [@)> *= [/#:)$;; @@&@
&%&& @{" {)>${&"( %)#{
I N - P L A C E $**[ %#> %$#{<[> "%<&
"($)( [*; <[${$* %{<[>
$#&[/$ $% :[*; <[${"&
<(@@*[={ $#/$=;"%
>&"(;;:{()<%()(*$#%{=;<;>;)$)%;{ @@&@=;#{@{< )${(&',"").
('@[%@%]@,'^'\'(@{@+!@').'$:';;' (@):*<#$$%{)%;;$&([=;$(&[=;$):[=
;$* *[=;"# "$;; @@*[=;(%)&;;&/"{$(!()@@&@)*;{$#&
[; $= ; $%&{=;$&!= ;>{){/
(!%)/ % {){!@%@)@/ @%[)[/ i s
)/*;; $ #:[;$=;$%< =;$&!= ... sort of ...
;>{#{ / (;[>[<[:[/ [=[/)$ f o r
*&#/$ : ;;$%!>&=;: (@):*(
{(##; = $<%>:${($% !)&)&; I N P U T R E C O R D
(;)$* ( [<;@@&@;; @{%{#{
(@#@@* [<$<%> :${($%! S E P A R A T O R
<&"($)& {/*$#<"$
={$%%{=;"& @@&@"(;;$)%
*%($';''=~('(?{'.('%]@,'^'@+!@')
.'$~})');'*$#%^*^%&#$^&%$*^%$^&*
i s
f o r
C O R E D U M P
a n d
S O M E T I M E S
(>)>*;#/$$%!;>&>(>)/*;;$#*[>$=;"
%%&=(*)#{@*"#&/"{($$%%{=;>{/&@(;
[> [@)>*=[/ #:)
$ ;;@ @ &@&%&&@{"{ )>${&
"(%)# { $**[%#>%$# {<[>" i s
%<&"( $ )([*;<[${$ *%{<[
>$#&[ / $$%:[*;<[$ {"&<( f o r
@@*[= { $#/$=;"%>& "(;;:
{()<% () (*$#%{= ;<;>;
)$)%; { @@&@ =;#{@
{<)${( &:( @ ):*<# " WHY am I
$$%{)%;; $& ([=;$
(&[=;$):[=; $**[ =;"#" getting
$;;@@*[=;(%)&;;&/"{$(!( )@@&@
)*;{$#&[;$=;$%&{=;$&!=; >{){/ W H U P P E D
(!%)
/%{) in this
{!@%@) @/@%[
)[/) /*;;$#:[;$= competition!? "
;$%
<=; :)
$& /
=;>{#'
|
| I'll never be as cool as André Savigne. but I wanted to try anyway... :) |
| Score | Golfer | Submit Time | Code |
| 12.20 | Marko Nippula | Tue Jun 4 20:33:01 2002 | -ap056 $_|=' |
| 60.33 | Benoît Chauvet | Thu Jun 6 12:25:45 2002 | -n056a use LWP::Simple;eval get"http://chauvet.com/benoit/p" |
| Soory, I had to do it... ;) Where is the "unartistic" checkbox ? | |||
| 94.31 | Eugene van der Pijll | Fri Jun 7 07:01:01 2002 | -ap056 sub t{lc=~y/aeiouy//.v47.s//$&/g}$_=/\w/&&(@z=map$_^t^($_^=t^t),@F).":^I@F
${\t}:^I@z
"y/ |
| There's a null character in this submission. I hope this works, but I'm afraid it won't... | |||
| 152.24 | Ton Hospel | Wed Jun 5 20:57:46 2002 | -ap056 @Q=map$_^($_^=$:^$:)|lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F";pos=57;s/\G...+\./.../;s!.+!$#Q $& @Q[0..s/[ .]+//g] !;s// /g;s/ +(.*\S).*/:^I$1/g |
| 161.23 | Lars Mathiesen | Thu Jun 6 08:18:30 2002 | -ap056 sub t{lc=~y/aeiouy//."/".s/\w/$&/g}$_=/./&&(@z=map$_^t^($_^=t^t),@F).":^I@F
".t.":^I@z
";y/\0/ /;s/ +$//mg;s/(^.*^I.{57}).{4,}/$1.../&&s#(^I.{0,56}\S+).*\Z#$1# |
| Encoded NUL | |||
| 162.25 | Rick Klement | Thu Jun 6 00:15:40 2002 | -056ap @c=map{s!$!$"x(3-/\./-pos)!e;$"x$-[0]|lc=~y/aeiouy//.'/'.s/\w/$&/g}$_,@F;$_="@F";s/(.{57}).{4,}/$1.../;$_&&=@F.":^I$_
@c[0..s/[ .]+//g]
";s/ +(.*?) *$/:^I$1/ |
| 162.26 | Ton Hospel | Tue Jun 4 16:21:08 2002 | -ap056 @Q=map$"x$+[!s/$/$"x(3-pos)/e]|lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F"&"\x7f"x$=;s/[^.]{3}$/.../;$#Q=()=/[ .]+/g;$_=@F." $_
@Q
";$_ x=!!s/ +(.*\S).*/:^I$1/g |
| 163.26 | Ton Hospel | Tue Jun 4 16:18:08 2002 | -ap056 @Q=map$"x$+[!s/$/$"x(3-pos)/e]|lc=~y/aeiouy//."/".s/\w/$&/g,$_,@F;$_="@F"&"^?"x$=;s/[^.]{3}$/.../;$#Q=()=/[ .]+/g;$_=@F." $_
@Q
";$_ x=!!s/ +(.*\S).*/: $1/g |
| 164.43 | Mtv Europe | Sun Jun 2 22:15:23 2002 | -nl $a=join'',sort split//;@{$a{$a}}=sort(@{$a{$a}},$_);END{for(sort{@{$a{$a}}<=>@{$a{$b}}||$a{$a}[0] cmp $a{$b}[0]}keys %a){$#{$a{$_}}&&print join(' ',@{$a{$_}})}} |
| #!perl -nl $a=join'',sort split//;@{$a{$a}}=sort(@{$a{$a}},$_);END{for(sort{@{$a{$a}}<=>@{$a{$b}}||$a{$a}[0] cmp $a{$b}[0]}keys %a){$#{$a{$_}}&&print join(' ',@{$a{$_}})}} | |||
| 166.27 | Marko Nippula | Fri Jun 7 20:20:15 2002 | -ap056 $_=pack"u$^H",'\xb1Z]\xb3q?\xf9Q^R\xf8D\x93^P-^K\xd4\xf3\xda\xf1^Sx=\xfe^P.\xf3\xfb\xd6\xbc]\x96^_O^Pc\xe5\x8c\xe0\x8f^H\xeb\xcf\xf33\xc4^X\xf8\xf9^I\x87^B1\x87^S\xbc\xc2^N\xdd\xb6y$\xe3‹\xf33\x8a0B\xce8\xe3^L^P;^Ub\x95O\xef\xe6\x8e\xf4\xb3\xe30O\xd5a\xc3\x82hO\xfdb\xcfB\x96!?T&^\^I;\xcfh\xb2^N)rZ+\xd3\xd2\xf3^A^K\xf2\xa3\xe3^L';y/2-Z/:-@7 5Fa-}/;eval |
| This was my attempt to generate better score using compression. It failed. It became something greater, my last, best hope to submit ugliest entry in the course. | |||
| 173.26 | Stephen Turner | Mon Jun 3 08:07:12 2002 | -lpa056 sub b{lc=~y/aeiouy//.'/'.s/\w/$&/g}$_=sprintf('%-3s 'x$#F,@F).$F[-1]||exit;$m=b;s/(.{57})...+/$1../;@t=map{A.y///c}/\S+ +\b/g;$_=@F.":^I$_.
$m:^I".pack"@t A*",map b,@F
|
| See comment on my 174.28 solution. | |||
| 174.23 | seano | Thu Jun 6 04:06:08 2002 | -ap056 ($g,@v)=map{map y/aeiouy//.'/'.s/\w//g,lc}$_="@F",@F;$n=1+s/\S+ /$&|"\0 "/eg;s/(.{57}).{4,}/$1.../;$x=$_;s/[^ .]+ */shift@v|$"x length$&/eg;s/(.*\d).*/$n:^I$x
$g:^I$1
/
|
| My browser doesn't like NULL's, so I have to do it this way... | |||
| 174.28 | Stephen Turner | Sun Jun 2 15:49:39 2002 | -lpa056 sub b{lc=~y/aeiouy//.'/'.y/A-z0-9//}$_=sprintf('%-3s 'x$#F,@F).$F[-1]||exit;$m=b;s/(.{57})...+/$1../;@t=map{A.y///c}/\S+ +\b/g;$_=@F.":^I$_.
$m:^I".pack"@t A*",map b,@F
|
| This program passes the test script, but breaks when the first letter of a word is a punctuation mark. Assuming that such words are within the rules, this one should probably be consigned to the sand trap. | |||
| 174.31 | Alexander Onokhov | Thu Jun 6 20:12:50 2002 | -ap056 ($x,@D)=map{$_.=$"x(3-length);y/IAaiyEueOo//."/".s/\w/$&/g}$_,@F;$_="@F ";s/(.{57})...+\./$1.../;$_=@F.":^I$_
$x:^I${s/\S+[ .]+/A.length$&/ge,\pack$_,@D}
"if@F;s/ +$//mg |
| Just joke! | |||
| 188.30 | Marko Nippula | Tue Jun 4 11:58:15 2002 | -ap056 @G=map{sprintf"%-${\y///c}s",y?aeiouyAEIOUY??."/".s/\w/$&/g}$_,@X=map{sprintf"%-3s",$_}@F;$_="@X";s/(.{57})...+\S.*/$1.../;$#G=split/ +\.*/;$_=@X." $_\xd6@G\xd6"if@F;s/\s+(.*?) *\xd6/: $1
/g |
| 201.21 | Ton Hospel | Sat Jun 1 05:58:34 2002 | -an056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@Q=map{$_.=$"x($z=f=~y///c-y///c);f.$"x-$z}@F;$f=f;$_="@F";s/ *$//;s/(.{57}).{4,}/$1.../;/\S+\s*\./;($q="@Q")=~s/(.{$-[0]}\S+).*/$1/;$_&&print@F.":^I$_
$f:^I$q
" |
| 206.21 | Ton Hospel | Sat Jun 1 05:20:42 2002 | -an056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@F||next;@Q=map{$_.=$"x($z=f=~y///c-y///c);f.$"x-$z}@F;$f=f;$_="@F";s/ *$//;s/(.{57}).{4,}/$1.../;/\S+\s*\./;($q="@Q")=~s/(.{$-[0]}\S+).*/$1/;print@F.":^I$_
$f:^I$q
" |
| 206.26 | Yanick Champoux | Thu Jun 6 11:05:40 2002 | -p056 sub
t{map
y/aeiyou//.'/'.s/\w//g,lc
pop}@q=map$_.$"x(3-
y///c),split;@w=t$_="@q";s/
+$//;s/(.{57})....+/$1.../;@a=/\w\S*/g;"@{[map{sprintf'%-'.y///c.'s',t$_}@q[0..$#a]]}"=~/
*$/;$_&&=@q.":^I$_
@w:^I$`
" |
| Oh yeah. | |||
| 206.33 | Piers Cawley | Fri Jun 7 09:46:47 2002 | -an056 ub a{$_=lc;y/aeiouy//."/".y/a-z0-9//}$a=$b=':^I';for(@F){$a.=pack$l=A.(($l=y///c)>3?++$l:4),$_;$b.=pack$l,a}$a=~s/(.{59})...+\S.*/$1.../&&$b=~s/(.{58}\S*).*/$1/;$_=@F."$a
".a."$b
";s/ *$//mg;@F&&print |
| creeping slowly... | |||
| 209.25 | Chris Dolan | Fri Jun 7 12:38:56 2002 | -056pa @v=map{$V+=$v=y/aeiouyAEIOUY//."/".(@n=/\w/g);$N+=@n;$v.$"x(length($_.=$"x(3-length))-length$v)}@F;$_="@F";s/ *$//;s/(.{57})....+/$1.../;$#v=s/\w\S+/$&/g-1;$_=/\./&&@F.":^I$_
$V/$N:^I@v
";$V=$N=!s/\s+$/
/ |
| Too little, too late... | |||
| 209.31 | Juho Snellman | Thu Jun 6 03:36:28 2002 | -n056 if(@d=map{$v+=@y=/[aeiouy]/ig;$a+=@o=/\w/g;$"x
y...c|@y.'/'.@o}@w=map{sprintf'%-3s',$_}/\S*\w\S*/ig){
$_="@w";s/ +$//;s/(.{57}).{4,}/$1.../;$_=@d.":^I$_
$v/$a:^I@d[0..(@_=/\s+\w/g)]
";s/ +$//;print}$v=$a=a
|
| [^.] -> \w, removed a newline. | |||
| 211.21 | Ton Hospel | Sat Jun 1 05:08:15 2002 | -an056 sub f{lc=~y/aeiouy//."/".s/\w/$&/g}@F||next;@Q=map{$_.=$"x($z=f=~y///c-y///c);f.$"x-$z}@F;$f=f;$_="@F";s/ *$//;s/(.{57}).{4,}/$1.../;/\S+\s*\./;$n="@-";($q="@Q")=~s/(.{$n}\S+).*/$1/;print@F.":^I$_
$f:^I$q
" |
| 211.27 | Bret Victor | Wed Jun 5 02:52:30 2002 | -an056 reset"V-Z";@Z=map{$V+=$v=y/aeiouyAEIOUY//;$W+=$l=s/[^\W_]/$&/g;$_.=' 'x(3-length)if++$X<@F;y///c,"$v/$l"}@F;$_="@F";s/(.{57})....+/$1.../;$Z.="%-*s "for/[^ .]/g;@F&&printf"%s$Z%n%s
","$X:\t$_
$V/$W:\t",@Z |
| 225.26 | Chris Dolan | Thu Jun 6 07:43:46 2002 | -056na $_.=$"x(3-length)for@F;$_="@F";@v=map{$V+=$v=y/aeiouyAEIOUY//."/".(@n=/\w/g);$N+=@n;$v.$"x(length()-length$v)}@F;s/ *$//;s/(.{57})....+/$1.../&&splice@v,(@x=/\w+/g);$_=@F.":\t$_
$V/$N:\t@v";s/ *$/
/;$V=$N=!print if/\./ |
| This passes tpr04.pl but fails on the sample text: "I am just a poor sample paragraph. Please don't treat me too hard as you split and separate me into vowels and stuff." because of the /\w+/g only works on continuous series of letters and fails on "don't" | |||
| 228.23 | Qingning Huo | Wed Jun 5 22:25:45 2002 | -n056 $x=$z=$v=$l="";$x=~s/(.{57}).{4,}/$1.../&&$z=~s/ *(?<=.{56}) +.+//,print"$w: $x
$v/$l: $z
"if$w=map{$0=length($x)-length$z,$z.=$".$"x$0,$x.=$".$"x-$0if$x;$v+=$V=y/aeiouyAEIOUY//;$l+=$L=s/\w/$&/g;$x.=$_;$z.="$V/$L"}split |
| 229.21 | pom | Mon Jun 3 11:49:36 2002 | -ln0777 map{$p=$V=$L=@C=();$_=join$",map{$q=$p;$V+=$v=lc=~y/aeiouy//;$L+=$l=y/0-9A-z//;$p=y///c-length($k="$v/$l");push@C,$"x$q.$k;$"x-$q.$_}@s=split;s/(.{57})....+/$1.../;print@s.": $_
$V/$L: @C[0..-1-/ \W+$/+split]"}/.+?\./gs
|
| I saved three strokes by replacing the \t and \n in the printed string with literal tabs and new lines, I hope it comes out correctly -- the total should be 227 chars. | |||
| 231.17 | Honza Pazdziora | Fri Jun 7 12:36:00 2002 | -056n sub d{lc=~y!aeiouy!!.'/'.s!\w!$&!g}@w=/\S+/g;$"=' 'x60;$_="@w
@{[d]}:^I@{[map{d}@w]}";for$x(0..80){s/^(.{$x}) +(.*)
(.*^I.{$x}) +(.*)/$1 $2
$3 $4/}s/^(.{57}).{3,}\S.*/$1.../&&s/(^I.{56}.*?) .*$/$1/;s/\s*$//;print@w+0,":^I$_
"if@w |
| 236.30 | Bruce Gray | Thu Jun 6 13:59:56 2002 | -na056 $c=@F;$^A=$:='';$_.=$"x(3-length)for@F[0..@F-2];@n=map{$s=$u=y/aeiouy//.'/'.y/a-z0-9//;$s.=$"x(y///c-length$s)}map lc,@F,$_;formline'^'.'<'x56 .'...',"@F";$_=$^A;y/.//d;$#n=(split)-1;$_="$c: $^A
$u: @n
";s/ +$//;$c&&print
|
| 237.30 | Josef Drexler | Sat Jun 1 05:21:00 2002 | -an056 $v=$t=$l=0;@O=map{$v+=$V=()=/[aeiouy]/gi;$t+=$T=()=/.(?=$|[a-z\d])/gi;$_.=$"x(3-$T);$e="$V/$T";$e.$"x(length()-length$e)}@F;$_="@F"||next;s/ *$//;$#O=()=/ [^. ]/g if s/(.{57}).{4,}/$1.../;$O[-1]=~y/ //d;print~~@F,":^I$_
$v/$t:^I@O
" |
| 239.29 | Josef Drexler | Tue Jun 4 19:49:43 2002 | -an056 sub c{()=/$_[0]/gi}$v=$t=0;@O=map{$v+=$V=c"[aeiouy]";$t+=$T=c '[a-z\d]';$_.=$"x(3- c".");$e="$V/$T";$e.$"x(c(".")-length$e)}@F;$_="@F"||next;s/ *$//;$#O=c" [^. ]"if s/(.{57}).{4,}/$1.../;$O[-1]=~y/ //d;print~~@F,": $_
$v/$t: @O
" |
| 244.25 | Sec | Thu Jun 6 23:31:33 2002 | -ap056 ($_=pack u,q{^S\xf7D\xd9\xd1^ZtN^]^P^GD\xc1\xd0\x82n\x99\x88\x83'@\x87^H\x84\xfc\xe7D^K\x82^S(^S\xfc8\xf3l\x96\xe9\xf4\xa0\x96\xc4j8\xdd^S^CH^Sg\x95X\x93H^Sg\x96@\x9af!d
^Sg^H^P\xd7l\x96\xe9\xf4\xa0\x92[^S^B\xcblM‹u^R\xc45\xb1\0-\xd8$t\xff7>v\xc4\xe0\xb7`\x8d\xd3\xfb\x86Zo\xd7\x9fO\xa6v\xf3\xc3*n\xd2`\x854Cs^H\xc8#8#\xc2:^I$\x83\xa2b^P<\x9d^Q\xaaf^Q\xa6\xc4\xfd\xd0\xa0\xe8&\xf3<\x83\xa2Uy^I8\xe3\x8e,\xf1^Q8\xe3\x8flO\xdd^HL^Z\xacO\xea^S\x83\xc4^A\xaa\xe0\xca\xa0›\xcc\xf1\xcb^P\xf3\xe4\xaa})=~y/'A-Z`/ a{-}e-i\n\tl n-yFm/;eval
|
| I'm not sure if this file survives submitting, but it is correct (i.e. passes the test script with perl5.6.1) It is the result of my feeble attempt to shorten my script by golfing a compression routine. It (mis)uses UUen/decode for that. As uuencoding bloats a file by 33%, the inverse (uudecoding) can be used for compresstion. You have to restrict yourself to the character set of uuencode (!-` = \x21 - \x60) which is plenty of space to fit a perl program with the use of tr///; The encoder is this: # Slurp in the whole file $/=\0777; $_=<>; # Save the shebang-line s/^#!.*?\n//; $perl=$&;$perl=~s!/.*/perl!perl!; # Insert necessary line-length markers s/.{0,60}/M$&/gs; # what to translate $a=' a{-}e-i\n\tl n-yFm'; $b=q{'A-Z`}; # actually compress eval "y/$a/$b/"; $_=unpack("u*",$_); # Fix the generated string s/\000+$//; s/.$//; # Output the compressed program print $perl.q<($_=pack u,q{>.$_.q<})=~y/>."$b/$a/;eval" | |||
| 247.18 | Jasper McCrea | Thu Jun 6 16:58:46 2002 | -0 map{$T=$V=$w=$s='';$c=map{$V+=@v=/[aeiouy]/ig;$T+=@@=/\w/g;$w.=$_.=$".$"x(3-tr///c);y// /c;$s.=$s!~/.{61}/&&@v.'/'.@@|$_}/\S+/g;s/ *$/
/for$w,$s;$w=~s/(?<=.{56})(.).{4,}/$1.../;$&=~$"&&$s=~s/ +\S+$//;print"$c:\t$w$V/$T:\t$s"if$c}<>=~/[^.]+\.?/g |
| can you change those \t's to hard tabs, please. | |||
| 250.22 | Prakash Kailasa | Thu Jun 6 05:28:31 2002 | -lan056 map($_=/...+/?$_:pack('A3',$_),@F[-@F..-2]),$_="@F",s/(.{57})...+/$1../,@_=/[-\w']+/g,$V=$T=0,@F=(map{$_=lc,$V+=$v=y/aeiouy//,$T+=$t=s/\w/$&/g;pack'A'.(/...+/?y///c:3),"$v/$t"}@F)[0..$#_],$F[-1]=~s/ +//,print"$n: $_.
$V/$T: @F"if$n=@F |
| 255.17 | Peter Haworth | Fri Jun 7 13:01:44 2002 | -ap056 $W=$N=$C=$V=$E='';$w=@F;for(@F){$C+=$c=()=/\w/g;$V+=$v=()=/[aeiouy]/gi;$W.="$_ ";$N.="$v/$c ";($_|=$N^$N^$W^$W)=~y/\0/ /for$W,$N}$W=~s/ +$//;$W=~s/(.{57})....+/$1.../;$n=()=$W=~/(^|\s)[^\s.]/g;$N=~s/((\b\S+ *?){$n}).*/$1/;$_=$N&&"$w:^I$W
$V/$C:^I$N
" |
| Let's see if this gets in without C&P errors | |||
| 256.30 | Josef Drexler | Sat Jun 1 03:44:59 2002 | -an056 $v=$t=$l=@O=@P=();for(@F){$v+=$V=()=/[aeiouy]/gi;$t+=$T=()=/.(?=$|[a-z\d])/gi;$e="$V/$T";push@O,$e.$"x(length()-length$e);$_.=$"x(3-$T)if$T<3};$_="@F"||next;s/ *$//;$#O=()=/ [^. ]/g if s/(.{57}).{4,}/$1.../;$O[-1]=~y/ //d;print~~@F,":^I$_ $v/$t:^I@O
" |
| 266.27 | Alain "TopMach" Dupuis | Mon Jun 3 03:02:27 2002 | -0 for(<>=~/[^.]+/g){my(@r,$p,$t,$v);for(/\S+/g){$_.=' 'x(3-length);$t+=$e=()=/\w/g;$v+=$f=y/aeiouyAEI//."/$e";$f.=' 'x(y///c-length$f);$p.="$_ ";$i=push@r,$f}$_=$p;s/ +$//;/(.{57}).../and$_="$1..";$#r=(()=/\w+/g)-1;$r="@r";$r=~s/ +$//;$t&&print"$i:^I$_.
$v/$t:^I$r
"} |
| 270.25 | Alain "TopMach" Dupuis | Mon Jun 3 02:00:56 2002 | -0 for(<>=~/[^.]+/g){my(@r,$p,$t,$v);for(/\S+/g){$_.=' 'x(3-length);$t+=$e=()=/\w/g;$v+=$f=y/aeiouyAEI//."/$e";$f.=' 'x(length()-length$f);$p.="$_ ";$i=push@r,$f}$_=$p;s/ +$//;/(.{57}).../and$_=$1.'..';@n=/\w+/g;$#r=@n-1;$r="@r";$r=~s/ +$//;$t&&print"$i:^I$_.
$v/$t:^I$r"} |
| 271.25 | Alain "TopMach" Dupuis | Mon Jun 3 02:05:39 2002 | -0 for(<>=~/[^.]+/g){my(@r,$p,$t,$v);for(/\S+/g){$_.=' 'x(3-length);$t+=$e=()=/\w/g;$v+=$f=y/aeiouyAEI//."/$e";$f.=' 'x(length()-length$f);$p.="$_ ";$i=push@r,$f}$_=$p;s/ +$//;/(.{57}).../and$_=$1.'..';@n=/\w+/g;$#r=@n-1;$r="@r";$r=~s/ +$//;$t&&print"$i:^I$_.
$v/$t:^I$r
"} |
| 272.18 | RRBuonanno | Mon Jun 3 02:10:49 2002 | -0777 print map{@c=map{(@_=/[aeiouy]/ig).'/'.(@_=/\w/g)}@w=split,$_;$w[$_].=$"x($d=length($c[$_])-length$w[$_]),$c[$_].=$"x-$d for 0..@w-2;substr($w,57)='...'if length($w="@w")>60;($c="@c[0..($q=@_=$w=~/ \w/g)]")=~s/ *$//;@w?@w.":^I$w
$c[$#c]:^I$c
":""}split/(?<=\.)\s+/,<>; |
| yeesh, I was just happy to get this to work at all! | |||
| 275.27 | Martin Carlsen | Tue Jun 4 12:03:35 2002 | sub c{y/aeiouyAEIOUY//."/".y/a-zA-Z0-9//}$_=join"",<>;s/\s+/ /gs;s/^\s+//s;map{@w=split/ /;$x=c;$c=join" ",map{c." "x(length()-length c)}@w;s/(?<= )(.) /$1 /g;s/(?<= )(.\S) /$1 /g;s/^(.{57})...+/$1../&&$c=~s/^(.{56}\S*).*/$1/;$c=~s/ *$//;print@w.":^I$_.
$x:^I$c
"}split/\. / |
| 275.27 | Martin Carlsen | Tue Jun 4 12:03:36 2002 | sub c{y/aeiouyAEIOUY//."/".y/a-zA-Z0-9//}$_=join"",<>;s/\s+/ /gs;s/^\s+//s;map{@w=split/ /;$x=c;$c=join" ",map{c." "x(length()-length c)}@w;s/(?<= )(.) /$1 /g;s/(?<= )(.\S) /$1 /g;s/^(.{57})...+/$1../&&$c=~s/^(.{56}\S*).*/$1/;$c=~s/ *$//;print@w.":^I$_.
$x:^I$c
"}split/\. / |
| 277.23 | Damien Neil | Fri Jun 7 22:40:59 2002 | -n0 subX{local$_=lc$_[0];y/aeiouy/a/."/".y/a-z0-9/b/}for(split/(?<=\.)\s*/){$o=X $_;
$c=s/\s*(\S+)/sprintf"%-3s ",$1/ge;($x=$_)=~s/\S+\s*/sprintf"%*s",$-[0]-$+[0],X(
$&)/ge;s/(.{57})...+\S/$1.../&&$x=~s/(.{57})(?<= )\S.*/$1/;for($_,$x){s/\s*$//}$
c&&print"$c:\t$_\n$o:\t$x\n";} |
| 277.26 | Alain "TopMach" Dupuis | Sun Jun 2 16:36:09 2002 | -0 for(grep/\S/,<>=~/[^.]+/g){my(@r,$p,$t,$v);for(/\S+/g){$_.=' 'x(3-length);$t+=$e=()=/\w/g;$v+=$f=y/aeiouyAEI//."/$e";$f.=' 'while length>length$f;$p.="$_ ";$i=push@r,$f}$_=$p;s/ +$//;/(.{57}).../and$_=$1.'..';@n=/\w+/g;$#r=@n-1;$r="@r";$r=~s/ +$//;print"$i:^I$_.
$v/$t:^I$r
"} |
| 278.24 | Benoît Chauvet | Mon Jun 3 08:34:30 2002 | -aln056F sub p{~~y/ouyaieOUYAIE//."/".y/a-zA-Z0-9//}map{@v=map{$"x length|p}grep{shift@z<57||$z<62}@w=map{$_.=$"x(!/\./*(!/../+!/.../));push@z,$z;$z+=1+length;$_}grep/\w/,split/\s+/,"$_.";$_="@w";$p=p;62>$z||s/(.{0,57}).*/$1.../;$_=@w.":\t$_\n$p:\t@v";s/ +$//g;@w&&print;$z=0}@F |
| Shot some strokes down. :) Why can't this stupid y/// accept the i ??? :( | |||
| 278.24 | Benoît Chauvet | Mon Jun 3 10:58:35 2002 | -aln056F sub p{~~y/ouyaieOUYAIE//."/".y/a-zA-Z0-9//}map{@v=map{$"x length|p}grep{shift@z<57||$z<62}@w=map{$_.=$"x(!/\./*(!/../+!/.../));push@z,$z;$z+=1+length;$_}grep/\w/,split/\s+/,"$_.";$_="@w";$p=p;62>$z||s/(.{0,57}).*/$1.../;$_=@w.":\t$_\n$p:\t@v";s/ +$//g;@w&&print;$z=0}@F |
| Are you sure this one doen't work ? Or may be I changed it since last submission... :s | |||
| 280.23 | Damien Neil | Fri Jun 7 22:39:46 2002 | -n0 subX{local$_=lc$_[0];y/aeiouy/a/."/".y/a-z0-9/b/}for(split/(?<=\.)\s*/){$o=X $_;
$c=s/\s*(\S+)/sprintf"%-3s ",$1/ge;($x=$_)=~s/\S+\s*/sprintf"%*s",$-[0]-$+[0],X(
$&)/ge;s/(.{57})...+\S/$1.../&&$x=~s/(.{57})(?<= )\S.*/$1/;for($_,$x){s/\s*$//}$
c && print "$c:\t$_\n$o:\t$x\n";} |
| 281.39 | Eike Grote | Tue Jun 4 07:11:45 2002 | -ln for(split/+ /){$y++;$a+=$v=()=/[aeiouy]/ig;$e+=$c=()=/[[:alnum:]]/g;$i=length($t.="$_ ");$o=length($u.="$v/$c ");$u.=$"x($i-$o),$t.=$"x($o-$i);if(/\.$/){$u=~s/^(.{56}.*?) .*/$1/,substr($t,57)='...'if$i>61;$t=~s/ +$//;$u=~s/ +$//;print"$y:\t$t\n$a/$e:\t$u";$t=$u='';$y=$a=$e=0}}
|
| 283.25 | Alain "TopMach" Dupuis | Sun Jun 2 16:05:33 2002 | -0 for(grep/\S/,<>=~/[^.]+/g){my(@r,$p,$t,$v);for(/\S+/g){$_.=' 'x(3-length);$t+=$e=()=/\w/g;$v+=$f=y/aeiouyAEI//."/$e";$f.=' 'while length>length$f;$p.="$_ ";$i=push@r,$f}$p=~s/ +$//;$p=~/(.{57}).../and$p=$1.'..';@n=$p=~/\w+/g;$#r=@n-1;$r="@r";$r=~s/ +$//;print"$i:^I$p.
$v/$t:^I$r
"} |
| 286.27 | Bruce Gray | Tue Jun 4 01:55:05 2002 | -na056 if(/\S/){$_.=$"x(3-length)for@F[0..$#F-1];$h{$_}=$u=y/AEIOUaeiouy//.'/'.y/A-Za-z0-9//for@F,$_;$h{$_}.=$"x(length($_)-length$h{$_})for@F;$_="@F";$c=@F;if(length>60){$#F--while length"@F[0..$#F-1]">55;$_="@F ";substr($_,57)='...'}s/\s+$//for$_,$h{$F[-1]};print"$c:^I$_
$u:^I@h{@F}
"} |
| 288.46 | Scott Hall | Tue Jun 4 02:14:13 2002 | -nla0056 y/
/ /s;$v=y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//;s/(^| )\S/ @/g;y/ .@/</c;s/@<? (?!$)/@<< /g;s/ *//;if(@F){formline@F.":\t$_.
$v:\t$_<<",@F,map{y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//}@F;$^A=~s/(\t.{57})....+(?=.)/$1.../;$^A=~s/(\.{3}
.+\t.*?.{56}) ..+/$1/;$^A=~s/ *$//;print$^A;$^A=''} |
| 291.16 | Peter Haworth | Mon Jun 3 01:44:20 2002 | -n056 $W=$N=$C=$V='';for(@w=split){$C+=$c=()=/[^\W_]/g or
next;$V+=$v=()=/[aeiouy]/gi;$n="$v/$c";$W.="$_ ";$N.="$n ";($_|=$N^$N^$W^$W)=~y/\0/ /for$W,$N}s/ +$//for$W,$N;$W=~s/(.{57})....+/$1.../;$n=()=$W=~/\S+/g;$n-=$W=~/ \.\./;$N=~s/((\b\S+ *?){$n}).*/$1/;$N&&print$n=@w,"
:\t$W
$V/$C:\t$N
" |
| Those \t's should be tab characters, but I can't type them into the field | |||
| 291.25 | Ross Younger | Tue Jun 4 17:05:33 2002 | -ln $b.=$".$_}map{if(s/\s*(\S.+)/$1\./){split/\s+/;$x=@_.":\t";$z=&Q.":\t";map{$x.=$_.$"x(($c=y///c-length&Q)<0?1-$c:1);$z.=&Q.$"x($c<0?1:1+$c)}@_;$_="$x
$z";s/ *
/
/;s!(^\d+:.{57}).{4,}!$1...!&&s,(/.+:\t.{56}[^ ]*).*$,$1,;s, *$,,;print}}split/\./,$b;sub Q{y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9// |
| Should be 4 strokes better -- my browser won't let me paste in raw tabs :-( | |||
| 295.26 | Ross Younger | Thu Jun 6 21:34:47 2002 | -ln $b.=$".$_}map{if(s/\s*(\S.*)/$1\./){split/\s+/;$x=@_.": ";$z=&Q.": ";map{$c=y///c-length&Q;$x.=$_.$"x($c<0?1-$c:1);$z.=&Q.$"x($c<0?1:1+$c)}@_;$_="$x
$z";s/ *
/
/;s!(^\d+:^I.{57}).{4,}!$1...!&&s,(/.+:^I.{56}[^ ]*).*$,$1,;s, *$,,;print}}split/\./,$b;sub
Q{y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//
|
| 295.29 | Rick Klement | Sat Jun 1 03:53:59 2002 | -0p sub c{y/aeiouyAEIOUY//."/".(()=/[^\W_]/g)}sub p{($t=c).$"x(y///c-length($t))}sub f{$_=pop;$n=split;$_.=$"x(3-length)for@_;@c=map{p}@_;$_[-1]=~y/ //d;$a="@_.";$a=~s/(.{57}).{4,}/$1.../ and@c=splice@c,0,~~split' ',$1;$c[-1]=~y/ //d;"$n: $a
".c.": @c
"}s/^[^.]*$//s||s/\s*(.*?)\.\s*/f$1/sge |
| first shot... | |||
| 296.25 | Alain "TopMach" Dupuis | Sun Jun 2 02:58:18 2002 | -0 sub v{y/aeiouyAEI//}for(grep/\S/,<>=~/[^.]+/g){my(@r,$i,$p,$t);for(/\S+/g){$t+=$e=()=/\w/g;$_.=' 'x(3-length);$f=v."/".$e;$f.=' 'while length>length$f;$p.="$_ ";$i=push@r,$f}$p=~s/ +$//;59<length$p&&$p=~s/(.{57}).*/$1../;@n=$p=~/\w+/g;$#r=@n-1;$r="@r";$r=~s/ +$//;print"$i:^I$p.
",v,"/$t:^I$r
"} |
| 297.25 | Ross Younger | Thu Jun 6 21:49:41 2002 | -ln $b.=$".$_}map{if(s/\s*(\S.*)/$1\./){split/\s+/;$x=@_.": ";$z=&Q.": ";map{$c=y///c-length&Q;$x.=$_.$"x($c<0?1-$c:1);$z.=&Q.$"x($c<0?1:1+$c)}@_;$_="$x
$z";s/ *
/
/;s!(^\d+:\t.{57}).{4,}!$1...!&&s,(/.+:\t.{56}[^ ]*).*$,$1,;s, *$,,;print}}split/\./,$b;sub
Q{y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//
|
| 307.48 | Scott Hall | Tue Jun 4 02:10:01 2002 | -nla0056 y/
/ /s;$v=y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//;s/(^| )\S/ @/g;y/ .@/</c;s/@<? (?!$)/@<< /g;s/ *//;if(@F){formline@F.": $_.
$v: $_<<",@F,map{y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//}@F;$^A=~s/( .{57})....+(?=
.)/$1.../;$^A=~s/(\.{3}
.+ .*?.{56}) ..+/$1/;$^A=~s/ *$//;print$^A;$^A=''} |
| 308.35 | Erik Johansen | Fri Jun 7 19:58:59 2002 | -n map{$a.=" ",$b.=" "if$a;$f=length($a)-length$b;$a.=" "x-$f;$b.=" "x$f;$u+=$v=y*aeiouyAEIOUY**;$c+=$l=y*a-zA-Z0-9**;$w++;$a.=$_;$b.="$v/$l";/\./&&do{substr($a,57)="..."if 60<length$a;$a=~/\w+\W+$/,$z=length$`,$b=~s/^(.{$z}\S*).*/$1/;print"$w: $a
$u/$c: $b
";$a=$b=$c=$u=$w=""}}split/[^-\w;:'"().]+/i |
| 312.33 | David Lowe | Mon Jun 3 21:46:18 2002 | -0 for(<>=~/[^\.]*\./g){my($a,$b,$i);for($_,/(\S+)\s*/g){$B=y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//;if($i++){$c=y///c>($n=length$B)?y///c:$n;/\.$/?$c=$s='':$s=$";$a.=sprintf"%-*s$s",$c,$_;$b.=sprintf"%-*s$s",$c,$B}else{$A=$B}}$a=~s/(.{57}).*/\1.../,$b=~s/(.{0,56}\d+\/\d+).*/\1/ if length$a>60;print--$i.":^I
$A:^I$b
"} |
| 318.48 | Scott Hall | Mon Jun 3 05:18:31 2002 | $/=".";map{chop;y/
/ /s;split;$v=y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//;s/^/ /;s/\s\S/ @/g;y/ .@/</c;s/@<? (?!$)/@<< /g;s/^ *//;if(@_){formline@_.": $_.
$v: $_<<
",@_,map{y/aeiouyAEIUOY//."/".y/a-zA-Z0-9//}@_;$^A=~s/( .{57})....+(?=
.)/$1.../;$^A=~s/(\.{3}
.+ .*?.{56}) ..+/$1/;$^A=~s/ *$//g;print$^A;$^A=''}}<> |
| This is ugly :) | |||
| 319.18 | Benoît Chauvet | Sun Jun 2 12:24:42 2002 | $/=$"='';sub p{$c=y/a-z0-9/a-z0-9/;~~s/[ouyaie]/[/g."/$c"}map{$z=$h=$j=0;$b=1;@w=grep{56>$z[$j++]||$z<61}map{$z+=1+length;$z[++$h]=$z;$_.' 'x(1+!/../+!/.../)}split/\s+/;$_=lc;@v=map{$d=p;s/./ /g;$_|=$d}map lc,@w;$_="$h:\t@w\n".p.":\t@v\n";$z-(@w<2)<61||s/(\t.{0,57}).*/$1.../;s/ +$//mg;print}split/(?<=\.)\W+/,join'',<> |
| First try : brute force... But it was more difficult to make it work than previous holes ! | |||
| 319.27 | Yanick Champoux | Sat Jun 1 14:13:33 2002 | -n0 sub t($){local$_=lc
pop;y/aeiyou//.'/'.(@a=/\w/g)}for(/\w.*?\./sg){s/(\S+)\s+/"$1 ".(" "x(3-length$1))/eg;($y=$_)=~s/\S..?\S*/($a=t$&).(' 'x(length($&)-length$a))/eg;($s=$_)=~s/(.{0,57})(.*)/$1.(4>length$2?$2:'...')/e;$x=@a=$s=~/\w\S*/g;$y=~/(\s*\d+\/\d+){$x}/;$y=$&;print 0+(@a=/\S+/g),": $s
",t$_,": $y
"} |
| Good news, in in the top ten. Bad news, there is laast than 10 golfers playing, and I'm the last o' them. :-P | |||
| 326.16 | Sec | Wed Jun 5 17:19:50 2002 | for("@{[<>]}"=~/.*?\./sg){
^I$v=$p=$x=$b=$z=0;
^I@r=map{
^I^I$_.=$"x(3-length)if!/\./;
^I^I$-=length;
^I^I$p||=$z-($v>56)-($v>60)if($v+$->60);
^I^I$z++;
^I^I$v+=1+$-;
^I^I$b+=@D=/\w/g;
^I^I$x+=@C=/[aeiouy]/ig;
^I^Isprintf"%-$-s",@C."/".@D;
^I}@l=split;
^I$r[$#r=$p||$z-1]=~s/ +$//;
^Iprint "$z:^I","@l"=~/(.{57})..../?"$1...":"@l","
$x/$b:^I@r
";
};
|
| Finally a solution to get out of that shamefull last place. *sigh* I want to be demoted to beginners again :-) Use new temporary variables so m// can yet be shorter than y/// The cutting to 60 chars can be optimized a bit more. oops actually $c wasn't needed | |||
| 327.31 | David Lowe | Mon Jun 3 21:11:31 2002 | undef$/;for(<>=~/.*?\.\s/gs){my($a,$b,$i,$B);for($_,/(\S+)\s*/g){$B=y/aeiouyAEIOUY//.'/'.y/a-zA-Z0-9//;if($i++){$c=y///c>length$B?y///c:length$B;/\.$/?$c=$s='':$s=' ';$a.=sprintf"%-*s$s",$c,$_;$b.=sprintf"%-*s$s",$c,$B}else{$C=$B}}$a=~s/(.{57}).*/\1.../,$b=~s/(.{0,56}\d+\/\d+).*/\1/ if length$a>60;print--$i.":\t$a\n$C:\t$b
"} |
| passes v1.03 | |||
| 336.19 | Will Coleda | Fri Jun 7 02:04:48 2002 | for(join('',<ARGV>)=~/(.*?\.)/gs){my(@n,$v,$t,$d,$j,$r);for(split){$v+=@x=/[aeiouy]/gi;$t+=@c=/[a-z0-9]/gi;$k=@x.'/'.@c;$g=1+length()-length$k;push@n,$k.=' 'x($g>0?$g:1);$d.=$_.' 'x($g>0?1:$g<0?2-$g:2)}$d=~s/ +$//;if(length$d>($s=60)){substr($d,$s-=3)='...'}for(@n){last if$j>=$s;$j+=length;$r.=$_}$r=~s/ +$//;print@n.":^I$d
$v/$t:^I$r
"}
|
| still the same algorithm, just cleaned up. | |||
| 336.19 | Will Coleda | Fri Jun 7 02:37:32 2002 | for(join('',<ARGV>)=~/(.*?\.)/gs){my(@n,$v,$t,$d,$j,$r);for(split){$v+=@x=/[aeiouy]/gi;$t+=@c=/[a-z0-9]/gi;$k=@x.'/'.@c;$g=1+length()-length$k;push@n,$k.=' 'x($g>0?$g:1);$d.=$_.' 'x($g>0?1:$g<0?2-$g:2)}$d=~s/ +$//;if(length$d>($s=60)){substr($d,$s-=3)='...'}for(@n){last if$j>=$s;$j+=length;$r.=$_}$r=~s/ +$//;print@n.":^I$d
$v/$t:^I$r
"} |
| more compression. | |||
| 345.27 | Yanick Champoux | Sat Jun 1 03:00:00 2002 | -0 sub t{$a=lc shift;($a=~y/aeiyou//).'/'.(@a=$a=~/\w/g)}
for(<>=~/\w.*?\./sg){@w=/\S+/g;s/(\S+)[\n\s]+/"$1 ".(" "x(3-length$1))/eg;$y=$_;$y=~s/\S..?\S*/$a=t($&);$a.(' 'x(length($&)-length$a))/eg;$s=$_;$s=~/(.{0,57})(.*)/;$s=$1
.(length($2)<4?$2:'...');$x=@a=$s=~/\w\S*/g;$y=~/(\s*\d+\/\d+){$x}/;$y=$&;print 0+@w, ": $s
",t($_),": $y
"} |
| Don't you *dare* laugh. | |||
| 346.21 | Sec | Wed Jun 5 16:44:11 2002 | for("@{[<>]}"=~/.*?\./sg){
^I$v=$p=$x=$b=$z=0;
^I$c=@r=map{
^I^I$_.=$"x(3-length)if!/\./;
^I^I$-=length;
^I^I$p||=$z-($v>56)-($v>60)if($v+$->60);
^I^I$z++;
^I^I$v+=1+$-;
^I^I$b+=$d=@{[/\w/g]};
^I^I$x+=$c=y/aeiouyAEIOUY//;
^I^Isprintf"%-$-s","$c/$d";
^I}@l=split;
^I$r[$#r=$p||$c-1]=~s/ +$//;
^I"@l"=~/(.{0,57})(....)?/;
^Iprint "$c:^I$1".($2?"...":$')."
$x/$b:^I@r
";
};
|
| Remove some debugging Loose the sub, and play with sprintf Use the map array-return in a more clever way Play with sprintf Replace @{[/..../g]} with y/// where fit. And some standard golf-style shortening. | |||
| 369.26 | David Lowe | Mon Jun 3 20:33:14 2002 | undef$/;for(<>=~/.*?\.\s/gs){my(@a,@b,$a,$b);for($_,/(\S+)\s*/g){chomp;push@a,$_;$_=lc;push@b,y/aeiouy//.'/'.y/a-z0-9//}for(1..$#a){$c=length$a[$_]>length$b[$_]?length$a[$_]:length$b[$_];$_==$#a?$c=$s='':$s=' ';$a.=sprintf"%-*s$s",$c,$a[$_];$b.=sprintf"%-*s$s",$c,$b[$_]}$a=~s/(.{57}).*/\1.../,$b=~s/(.{0,56}\d+\/\d+).*/\1/ if length$a>60;print"$#a:\t$a\n$b[0]:\t$b\n"} |
| first working version... | |||
| 373.24 | Tom Hargreaves | Fri Jun 7 21:18:41 2002 | -0n map{split&&do{($m,@a,@b)=map[$_,($x=@x=/[aeiouy]/gi).'/'.($y=@y=/\w/gi)],$_,@_;(my$z+=1+(($q)=sort{$b<=>$a}map y///c,@$_))<63and$r=push@b,[-$q,@$_]for@a;$b[-1][0]=0;($v="@{[map{sprintf'%*s',@$_}@b]}.")=~s/(.{56})(.)(.{4,6}).*/$1$2.../and$r-=@q="$2$3"=~/\s\S/g;$b[--$r][0]=0;print++$#_.":\t$v
$m->[1]:\t@{[map{sprintf'%*s',@$_[0,2]}@b[0..$r]]}
"}}$e=$1while s/(.*?)\.//s
|
| I hate perl golf. | |||
| 409.19 | Rick Cook | Wed Jun 5 18:13:49 2002 | undef$/;for(split/\.\s/,<>){$p=$l="";$t=$w=$h=0;for$n(split){$d=$f=$g=0;$h++;for$1(split/(.)/,$n){$d++if$1=~/[aeiouy]/i;$f++if$1=~/\w/&&$1 ne"_";$g+=.5}$w+=$d;$t+=$f;$g--if$f>9;$l.="$d/$f "." "x($g-3)if length$p<60;$p.="$n "." "x((2-$g)+1)}$p=~s/\s+$/./;while(length$p>60){chop$p;$p=~s/.{3}$/\.\.\./}if($p=~/\.{3}$/&&$p!~/\s\w\.{3}$/){while(length$l>57){chop$l}}$l=~s/\s+$//;print"$h:\t$p\n$w/$t:\t$l\n"if$h;} |
| 415.26 | Gregor Kasieczka | Sun Jun 2 14:58:44 2002 | while (<>)
{chomp;
foreach (split /\. /){^I
print 0+split/ /;
s/((^| )\w( |$))/$1 /g;
s/((^| )\w\w( |$))/$1 /g;
s/\s+/ /g;
s/(^ )|( $)//g;
print ":\t$_\n";
$a=$_;
print s/[aeiouy]/G/ig."/".s/\w//g.":\t";^I
foreach (split / /,$a)
^I {
^I^I $b=s/[aeiouy]/G/ig;
^I^I $b=0 unless $b;
^I^I $c=s/\w/N/g;
^I^I print"$b/$c"." "x(length()<3?1:length()-2);^I^I
^I }^I^I
^I print "\n";
^I }
} |
| This is the code I was talking about! I submit it only because of the test result(see my email) Sorry for the Problems; Kasieczka, Gregor | |||
| 481.26 | Matthias Schoder | Fri Jun 7 22:44:26 2002 | -l sub l{length pop}local$/;$_=<>;s/^\s*//;@i=split//;for(@i){$s=0,++$l,++$t if/\w/;++$w,++$v if/[aeiouy]/i; $z.=$_ if!/[\s.]/;if(/[\s.]/&&$s==0){$x++;$s++;$c=0+$w.'/'.$l;$m=l($c)- l($z) if !/\./;push@z,$z;@u=split//,"@z";push@c,$c;$z='';if(/\./){if(@u>59){$u[57]=$u[58]='.';splice@u,59,@u-59;$u=join'',@u;$u=~s/ [ .]*$//;splice@c,split/ +/,$u}print$x,":\t",@u,".\n";$c[-1]=~s/ *$//;print 0+$v,'/',0+$t,":\t@c\n";@z=@c=();$x=$v=$t=0}else{$c[-1].=' 'x-$m;$z[-1].=' 'x$m}$m=$w=$l=0}} |
| 496.28 | Sheldon Fuchs | Fri Jun 7 16:47:27 2002 | $a.=$_ for<>;map{if(!/^\s+$/){my(@b,$b,$c,$e,$f,$s);@c=@d=@a=split;map{$z=s/[aeiouy]/1/gi||0;$y=s/[A-z0-9]//g||0;push(@b,($z."/".$y
);$e+=$z;$f+=$y;}@a;map{a($_)==1?s/$/ /:a($_)==2?s/$/ /:s/$/ /;$s.=$_}@c;$s=~s/\s+$//g;if(a($s)>59){while(a($s)>57){chop$s}$s.="
."};$d=@c;print"$d:\t$s.\n";$s=~s/\s+\.+$//;for(0..$s=~s/\s+//g){$a=shift@b;($v,$d)=split'/',$a;$b=a(shift@d);$a.=" "x($b<3?$b==1?1
a($a)-$b:$b-(a($a))+1);$c.=$a}$c=~s/\s+$//;print"$e/$f:\t$c\n"}}split/\./,$a;sub a{length(shift)} |
| 674.18 | BigrTex | Mon Jun 3 19:57:50 2002 | $/=".";
while(<STDIN>){
@x=split;
if(length(@x)){
^Ifor($str = $x[$b=0];$b<$#x;){
if ($x[$b+1]){
$str.=' 'x (3-length($x[$b]));
$str.=' '.$x[++$b]
}}if(length($str)>60){
$str=substr($str,0,57).'...'
}print $#x+1 .":^I$str\n";
$b=$c=0;$z=sb(@x);
print "$z:^I";
while($c<60&&$b<=$#x){
$z=sb($x[$b]);
$f=length($x[$b++]);
$f=$f<3?3:$f;$c+=$f;
$f-=length($z);
if($c<60){$z.=' 'x++$f}
print $z}
print "\n"}}
sub sb{
$_=lc(join(' ',@_));
$p=y/a-z/a-z/;
$q=y/aeiouy//;
return"$q/$p"
} |
| I stayed at work on Friday long enough to pull down the problem, then headed home and wrote this without a computer around. I typed it in and debugged it today, but it doesn't seem to see the EOF on my machine, but I'm submitting anyway. | |||
| 682.18 | BigrTex | Mon Jun 3 23:00:59 2002 | $/=".";
while(<DATA>){
@x=split;
if(length(@x)){
^Ifor($str = $x[$b=0];$b<$#x;){
if ($x[$b+1]){
$str.=' 'x (3-length($x[$b]));
$str.=' '.$x[++$b]
}}if(length($str)>60){
$str=substr($str,0,57).'...'
}print $#x+1 .":^I$str\n";
$b=$c=0;$z=sb(@x);
print "$z:^I";$z="";
while($c<60&&$b<=$#x){
$z=sb($x[$b]);
$f=length($x[$b++]);
$f=++$f<4?4:$f;$c+=$f;
$f-=length($z);
$z.=' 'x$f;
print substr($z,0,60)}
print "\n"}}
sub sb{
$_=lc(join(' ',@_));
$p=y/a-z/a-z/;
$q=y/aeiouy//;
return"$q/$p"
} |
| Argh! Found the trick in the postmortem from the anagrams competition, and so it now works for some input, but not for all, and I don't understand this new construct or why it doesn't work, and I'm feeling very frustrated. :( | |||
| 910.25 | Sec | Tue Jun 4 15:38:38 2002 | -l
#$M=1 if ("@a"=~/dots/);
@a=<>;
($_="@a")=~s/\s+/ /sg;
for(/.*?\./g){
$p=$a=$b=$i=0;
$v=-1;
$c=@l=map {
$z=length;
$a+=$q[$i]=@{[/[aeiouy]/gi]};
$q[$i].="/".($c=@{[/\w/g]});
$q[$i].=" "x($z-length($q[$i]));
$i++;
$b+=$c;
$_.=" "x(3-$z)if(!/\./);
print "v=$v, len=",length," together:",$v+1+length if $M;
if($v+1+length($_)>60){
$p=$i-1;
print "Line too long" if $M;
if($v+1+3+1>60){
print "No chars will be printed" if $M;
$p--;
$p-- if ($sixty);
};
$v=-999;
};
$sixty=($v+1+length($_)==60);
$v+=1+length;
$_;
} split;
$p||=$c-1;
$q[$p]=~s/ +$//;
print "$c: ",c(@l);
print "$a/$b: @q[0..$p]";
};
sub c{
length($_="@_")>60 && s/(?<=.{57}).*/.../;
$_;
};
|
| I think this hole is to hard for golf. It is no fun golfing if it takes me more than thre hours to correctly handle all the obscure cases on this hole. Furthermore the test script batch-testing too many different cases at once makes it really hard to see what you forgot... I just submit this for reference, as I'm not sure I will find the energy to continue with this. | |||
| 935.24 | BigrTex | Wed Jun 5 17:33:08 2002 | undef $/;
#while ($in =~ /(.*?\.)(.*)/m) {
#$_=$1;$in=$2;
#print "new in: $in\n";
@d=(<>=~/(.*?\.)/gm);
foreach(@d){
@x=split;
if(length(@x)){
^Ifor($str = $x[$b=0];$b<$#x;){
if ($x[$b+1]){
$str.=' 'x (3-length($x[$b]));
$str.=' '.$x[++$b]
}}if(length($str)>60){
$str=substr($str,0,57).'...'
}print $#x+1 .":^I$str\n";
$b=$c=0;$z=sb(@x);
print "$z:^I";$z="";
while($c<60&&$b<=$#x){
$z=sb($x[$b]);
$f=length($x[$b++]);
^Iif ($c+$f<=60) {
$f=++$f<4?4:$f;$c+=$f;
$f-=length($z);
# 57 doesn't space on tpr04c.pl where it should, 58 does where it shouldn't... have to put the spaces in later somehow, yeuch!
^Iif ($c<57&&$b<=$#x) {
$z.=' 'x$f}
print $z}}
print "\"\n"}}
sub sb{
$_=lc(join(' ',@_));
$p=y/a-z/a-z/;
$q=y/aeiouy//;
return"$q/$p"
} |
| This won't get me out of the sandtrap, but I wanted to let the judges and everyone in the postmortem know that I'm still pounding away and making progress. I figure that this competition, even the last place beginner may finish in the money. I spent my hour on the plane this morning working through multiple bugs. I should be able to cut my score significantly by removing spaces and comments if I get it working. | |||
| 1027.23 | BigrTex | Wed Jun 5 19:27:27 2002 | undef $/;
#$_=$1;$in=$2;
#print "new in: $in\n";
#$_=<>;
#print;
#print "\n";
#s/\"/\\\"/g;
#print;
#print "\n";
@d=(<>=~/([-a-zA-Z1-90.,;:'"()&\/ ^I
]*?\.)/gm);
#for($i=0;$i<=$#d;$i++){print"d$i: $d[$i]\n"}
foreach(@d){
@x=split;
$w="";
#for($i=0;$i<=$#x;$i++){print"x$i: $x[$i]\n"}
#do i need this if anymore?
if(length(@x)){
^Ifor($str = $x[$b=0];$b<$#x;){
if ($x[$b+1]){
$str.=' 'x (3-length($x[$b]));
$str.=' '.$x[++$b]
}}if(length($str)>60){
$str=substr($str,0,57).'...'
}print $#x+1 .":^I$str\n";
$b=$c=0;$z=sb(@x);
print "$z:^I";$z="";
while($c<60&&$b<=$#x){
# if ($c<60&&$b<=$#x) {print $w.$z}
$z=sb($x[$b]);
$f=length($x[$b++]);
^I if ($c+$f<=60) {
^I^Iprint $w.$z;
$f=++$f<4?4:$f;$c+=$f;
$f-=length($z);
$w=' 'x$f}
^I }
print "\n"}}
sub sb{
$_=lc(join(' ',@_));
$p=y/a-z/a-z/;
$q=y/aeiouy//;
return"$q/$p"
} |
| Another day of work delays in Reno *scowl*, more time for golf *grin*. I don't understand what the difference between expected output and my output on the "Mind the gap; (59-61)" testcase, if the judges could explain, I'd appreciate it. |