Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re: (Golf) Minimizing the Bacon Number

by bjelli (Pilgrim)
on May 15, 2001 at 02:35 UTC ( #80383=note: print w/replies, xml ) Need Help??

in reply to (Golf) Minimizing the Bacon Number

My first try at golf:

sub b { $M = scalar keys %t; $m = $M *= $M; foreach ( keys %t ) { $r = c( $_ ); ($m,$n) = ($r, $_) if ($r < $m ); } $n; } sub c { @s=@_; %b = ( $s[0] => $b=$sum=0 ); while ( @s > 0 ) { $b ++; @s = grep { ! exists( $b{$_} ) } map { @{$t{$_}} } @s; @b{ @s } = ($b) x scalar(@s); $sum += $b * scalar(@s); return $M if $sum > $m } $sum; }

works for graphs too, I think.

Update: I can write that down in 196:

sub b{$M=$m=@_*@_;for(keys %t){$r=c($_);($m,$n)=($r,$_)if($r<$m)}$n}su +b c{%b=($_[0]=>$b=$sum=1);while(@_){$b++;@_=grep{!$b{$_}}map{@{$t{$_} +}}@_;@b{@_}=($b)x@_;$sum+=$b*@_;return$M if$sum>$m}$sum}

slower but shorter: down to 177:

sub b{$M=$m=@_*@_;for(keys %t){$r=c($_);($m,$n)=($r,$_)if($r<$m)}$n}su +b c{%b=($_[0]=>$b=$sum=1);while(@_){$b++;@_=grep{!$b{$_}}map{@{$t{$_} +}}@_;@b{@_}=($b)x@_;$sum+=$b*@_}$sum}

I never new how hard obfuscation is! </code>

Brigitte    'I never met a chocolate I didnt like'    Jellinek

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://80383]
[dazz]: .
[choroba]: Discipulus Sounds interesting. Any pictures of the puppets or paintings?
[Corion]: Oof - "Anyway, if it is not obvious, please keep this discussion entirely confidential for now.", as seen on a public mailing list ;)
[Discipulus]: uh no choroba.. i do not practice much with online putyour image sites:can you suggest one (that possibly remove the pic after few days)?
[choroba]: Corion a bug report?

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (7)
As of 2017-03-27 07:48 GMT
Find Nodes?
    Voting Booth?
    Should Pluto Get Its Planethood Back?

    Results (317 votes). Check out past polls.