8人の女王
8人の女王とは
8人のクイーンを8×8のチェス盤に配置し、そのどれもが互いに行き違わないようにする置き方を求めるというものです。クイーンは縦横斜め、全ての方向に移動することができます。
置き方は、
board[]={x0,x1, … , xi, … , x7}
と表現します。一番左上のマスを(0,0)とすれば、各駒の座標は(i,xi(つまりboard[i]))であらわせるわけです。
自分なりに行き違う条件を求めてみました。
縦横方向を考えれば
i==j
board[i]==board[j]
斜め方向を考えれば
i+board[i]==j+board[j]
i-board[i]==j-board[j]
ただこれらを考えた上でプログラムするとなるとどうすればいいかさっぱり皆目検討もつきません^^;
再帰的にやるというのもわかるのですがやはりどう書けばいいか・・・
教えてくださる方よろしくおねがいします