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

Re: Puzzle: need a more general algorithm

by fglock (Vicar)
on Jul 09, 2002 at 17:52 UTC ( #180554=note: print w/ replies, xml ) Need Help??


in reply to Puzzle: need a more general algorithm

Another way to do it (works!)

use strict; my @height = qw/ 10 15 25 30 10 13 /; my $columns = 3; my @Best = (); my $Min_height = 1E9; my $Table_height = 0; &check_columns; foreach my $y (0..$Table_height) { foreach my $x (0..$columns) { my $data = ${$Best[$x]}[$y]; print defined $data ? $data : " "; print " "; } print "\n"; } sub check_columns { my $pcat = ( shift or [ 0 .. $#height ] ); my @a = @$pcat; my @b = (); map { push @b, shift @a; my @result = ( [@a], [@b], @_); if ($#result == $columns) { my $max_height = 0; my $table_height = 0; foreach my $j (@result) { my $height = eval join '+' => @height[@$j]; $max_height = $height if $height > $max_height; $table_height = $#{@$j} if $table_height < $#{@$j}; } if ($max_height < $Min_height) { $Min_height = $max_height; @Best = @result; $Table_height = $table_height; } } else { check_columns(@result); } } @a; }

Update: I should have used for (@a) instead of map.


Comment on Re: Puzzle: need a more general algorithm
Select or Download Code
Re: Re: Puzzle: need a more general algorithm
by fglock (Vicar) on Jul 09, 2002 at 18:27 UTC

    This is definitely not optimized.

    More than 20 minutes have passed and (50, 1..150) didn't finish yet...

    Update: got Out of memory

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (5)
As of 2014-07-13 21:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (252 votes), past polls