Heterosquare
3次のHeterosquareが何個あるか?
ただし、
123 345 567 781
894 296 498 692
765 187 321 543
187 321 543 765
296 498 692 894
345 567 781 123
は同一のものとする。
cnt = 0
(1..9).to_a.permutation{|a|
ary = []
# 縦
(0..2).each{|i| ary << a[i] + a[3 + i] + a[6 + i]}
# 横
(0..2).each{|i| ary << a[3 * i, 3].inject(:+)}
# ななめ
ary << a[0] + a[4] + a[8]
ary << a[2] + a[4] + a[6]
cnt += 1 if ary.size == ary.uniq.size
}
p cnt / 8
3120
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。