- 論壇徽章:
- 7
|
v2:
real 0m0.079s
user 0m0.065s
sys 0m0.004s
- #!/usr/bin/perl
- # version 26, subversion 0 (v5.26.0)
- use 5.010;
- explore();
- # ______________________ SUB ______________________
- sub explore { E_(0) }
- sub E_ {
- my $n = shift;
- state $b = [ (0) x 4 ];
- state $has = [ (0) x 10 ];
- state $in = [ [ 0, 1 ], [ 2, 3 ], [ 0, 2 ], [ 1, 3 ], [ 0, 3 ] ];
- if ( $n == 4 ) {
- my ( @test, @x ) = (0) x 10;
- $test[$_] = 1 for @$b;
-
- for my $i (@$in) {
- my $it = $b->[ $i->[0] ] + $b->[ $i->[1] ];
- return if $it < 6 or $it > 14;
- $it = 15 - $it;
- return if $test[$it]++;
- push @x, $it;
- }
- return if $x[0] + $b->[3] + $x[2] != 15;
- my @X = ( @$b[ 0, 1 ], $x[0], @$b[ 2, 3 ], @x[ 1 .. 4 ] );
- say join ' ', @X[ 0, 1, 2 ];
- say join ' ', @X[ 3, 4, 5 ];
- say join ' ', @X[ 6, 7, 8 ];
- say '-----';
- return;
- }
- for my $it ( 1 .. 9 ) {
- next if $has->[$it];
- $has->[$it]++;
- $b->[$n] = $it;
- E_( $n + 1 );
- $has->[$it]--;
- }
- }
- __DATA__
- $_
復制代碼
|
|