Queens in peaceful positions (1034)

概要

8 クイーン問題の亜種.N×N の盤上に N 個のクイーンが互いに攻撃できないように配置されているとき,クイーンは peaceful position にあるという.いま,入力として peaceful position が与えられたとき,ちょうど 3 個のクイーンを移動して得られる新たな peaceful position の配置の数を出力せよ.

解法

最初から peaceful position に配置されているので,任意のクイーン 3 個からなる組について,縦方向の位置(Y 座標)をお互いに入れかえた配置を作り(このとき,どのクイーンももとの位置にはおけないので配置方法は 2 通りになる),その配置が peaceful position の条件を満たすかどうか調べればよい.

動かす 3 個のクイーンの間で攻撃しあわないことの確認を忘れないように.クイーンを「配置」してから条件が満たされるかどうかを調べるほうが身のため.

ソースコード

file1034.cpp


添付ファイル: file1034.cpp 1027件 [詳細]

Last-modified: 2009-11-06 (金) 13:25:51 (5285d)