- 締切済み
トロッコの入れ替え
トロッコの入れ替え問題 A地点にトロッコが4台置いてある.それぞれに,1から4まで番号がついている.このトロッコを引き込み線B地点を利用してすべてC地点に移動させる.可能なすべての並び替えとこの目的を達成する手順を示しなさい.ただし,移動はA地点からB地点,B地点からC地点の一方通行であり,逆に進めることはできないとする. この課題のプログラムがわからないので誰かわかったら考え方だけでもいいので教えて下さい。 プログラムを書いてもらえるときはCかPascalで書いてもらえると助かります。お願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
私は持っていないのですが、下記の本に回答がありそうです。かって共立出版の「Bit」と言う雑誌に連載された記事の集成版で、数学論理にもとづいたアルゴリズムを追求する、ややクラスが上の問題が載っていたようです。有沢先生はそういう方面で著書が他にもある方です。 トロッコ入れ替え http://www.cbook24.com/bm_detail.asp?sku=01082852 共立出版 (発売) ● \2,670 (本体価格) ● お届け予定: 48時間以内 タイトル: ナノピコ教室 プログラミング問題集 編: 有沢誠, 駒木悠二 >一方通行であり,逆に進めることはできないとする バックは出来ないのでしたっけ。 各トロッコは1台だけで、自力走行は出きるのでしたっけ。機関車が牽引するのでしたっけ。切り離しは可能でしたよね。
- imogasi
- ベストアンサー率27% (4737/17069)
トロッコの入れ替え問題 http://web.sfc.keio.ac.jp/~tozaki/LP/01/handout/010608.html などを見ましたが、A地点でトロッコの順番を先頭から1,2,3,4(左から)として、C地点に行った時の順番の指定があるはずでしょう。C地点で先頭から1、2、3、4で良ければ、問題にもならない(そのまま前進すれば良い)問題になってしまいますから。順序が変わるから難しいのではないですか。 それが本質問には書いてないですが、それで良いのですか (指定しないで考えろと言うことでしょうか)