4x4魔方陣にてちょいと調べた元ワンライナー
perl -e "
@m=split//,'AaBbEeFfMmNnPpQq'; @a=qw/1100 1010 1001 0110 0101 0011/; for$b(qw/0505 1441 0550 0145 4051/){ @c=split//,$b; for$d(@c){ push@e,split//,$a[$d]; } push @f,[@e]; @e=(); } for$g(0..2){ for$i(0..3){ for$j(0..3){ $k[$i+$j*4]=$f[$g]->[3-$j+$i*4] } } push@f,[@k];@k=(); } for$g(0..7){ push@f,[ map{1-$_} @{$f[$g]} ] } @f=@f[0,8,5,13,1,9,6,14,2,10,7,15,3,11,4,12]; print join qq/\n/,(map{join'',@$_}@f,''); for$a(0..15){ for$b(0..15){ next if($a^$b)<2; for$c(0..15){ next if($a^$c)<2; next if($b^$c)<2; for$d(0..15){ next if($a^$d)<2; next if($b^$d)<2; next if($c^$d)<2; &z; } } } } sub z{ @g=map{ $f[$a]->[$_]*8+$f[$b]->[$_]*4+$f[$c]->[$_]*2+$f[$d]->[$_] }(0..15); @g=sort{$a==$b?$h=1:$a<=>$b}@g; if(!$h){ print map{$m[$_]}($a,$b,$c,$d); print qq/\t/; $y++; print qq/\n/ if $y%10==0; } $h=0; } print qq/\n/,$y/8;
これでは880全パターン出てこないのか…