Queens in peaceful positions (1034) †概要 †8 クイーン問題の亜種.N×N の盤上に N 個のクイーンが互いに攻撃できないように配置されているとき,クイーンは peaceful position にあるという.いま,入力として peaceful position が与えられたとき,ちょうど 3 個のクイーンを移動して得られる新たな peaceful position の配置の数を出力せよ. 解法 †最初から peaceful position に配置されているので,任意のクイーン 3 個からなる組について,縦方向の位置(Y 座標)をお互いに入れかえた配置を作り(このとき,どのクイーンももとの位置にはおけないので配置方法は 2 通りになる),その配置が peaceful position の条件を満たすかどうか調べればよい. 動かす 3 個のクイーンの間で攻撃しあわないことの確認を忘れないように.クイーンを「配置」してから条件が満たされるかどうかを調べるほうが身のため. ソースコード † |