問題
3×3 のマス目の各マスに 1 以上 9 以下の整数を重複しないように 1 つずつ書き込む。
隣り合う2マスの整数の大きい値と小さい値を引いた場合
差が3以下になるようにマス目に書き込む方法は何通りあるかを求めるプログラムを作成せよ。
ただし,回転や裏返しにより一致する書き込み方も異なるものとして数えるものとする。
答えはこちら
ヒント
ヒント1:順列問題の応用問題
1~9の全ての組み合わせの順列を計算しながら
その都度条件を満たす組み合わせ順列をコンソールに表示するというものです。
なので、前回の問題を解いていない方は前回の順列問題を先に解いてください。
ヒント2:考え方
まず、3X3マスで隣り合う2マスの整数の大きい値と小さい値を引いた場合という位置関係を
考えてみましょう
隣り合う2マスということなので、この問題では横方向と縦方向2マス分の計算しか出てきません。
そして計算可能なマス目は横方向で左2列、縦方向で上2行です。
コメント