Nonogram solver: Difference between revisions
m
→{{header|Perl}}: lightly edited for clarity
mNo edit summary |
SqrtNegInf (talk | contribs) m (→{{header|Perl}}: lightly edited for clarity) |
||
Line 1,942:
=={{header|Perl}}==
<lang perl>
use warnings;
Line 1,950 ⟶ 1,948:
open my $fd, '<', $file or die "$! opening $file";
while(my $row = <$fd> )
{
$row =~ /\S/ or next;
my
my @
my @cpats = makepatterns($column);
my @rows = ( '.' x @cpats ) x @rpats;
for( my $prev = ''; $prev ne "@rows"; )
Line 1,983 ⟶ 1,982:
}
sub makepatterns {
map { qr/^$_$/ # convert strings to regex
map { "[1.]{$_}" # require to match exactly 'n' times
}</lang>▼
} map { -64+ord # convert letter value to repetition count 'n'
} split // # for each letter in group
)
. '[0.]*' # append static pattern
} split ' ', shift; # for each letter grouping
{{out}}
<pre>
Line 2,058 ⟶ 2,063:
..................#######
</pre>
=={{header|Phix}}==
Deduction only, no exhaustive search.
|