船渡し問題

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
よくある船渡し問題を「エレガント」に解くプログラム募集します。

(例)
父・息子1・息子2・母・娘1・娘2・執事・犬
<条件>
母がいないと父は娘に手を出し
父がいないと母は息子に手を出し
執事がいないと犬は人間に噛み付く。
船を運転できるのは父・母・執事。
船の定員は2人(犬も1人と数える)
2デフォルトの名無しさん:2001/05/22(火) 13:03
お約束
課題ですか?
3デフォルトの名無しさん:2001/05/22(火) 13:20
ついこないだ話題になってたじゃん
「問題クレクレ」ってスレ探してみ
4デフォルトの名無しさん:2001/05/22(火) 13:22
まず犬を殺して、後は執事が息子1、2、父親、母親、娘1、2の順に渡します。
以上。
5デフォルトの名無しさん:2001/05/22(火) 13:27
>>1
「エレガント」の定義って何だ?

力任せのバックトラックアルゴリズムではなくて、
バックトラック中に効果的な枝刈りも併用するルーチン?

それともオブジェクトとルールが変化しても最小限の
変更で済むクラス設計?

要するに課題ですか?
6転載くん:2001/05/22(火) 13:31
$_='i=FMBBGGSD;@n=(F,M,B,G,S,D);Yp{_X!(/D/&!/S/&/[^D]/|/F/&/G/&!/M/|/M/&/B/&!
/F/)}Yz{_X!_|/[FMS]/}Yr{aXbXp(a)&p(b)&p(a.b)&z(b)}Yt{my(@o,c,d,e,f,g,h,i,j);c=k
%2;e=iXf=jXif(c&!f){push@m,join"\n",@l,k,"";return}_=e;y/FB/MG/;return if Z&Z<=
k;Z=k+1;@o=(@n,"");for g(@n){shift@o;for h(@o){e=i;d=g.h;f=j.d;next if e!~s/g//
|h&e!~s/h//|!r(e,d);a="e->d j";a="j d<-e"if c;push@l,a;k++;t(f,e);k--;pop@l;}
}}t i;print@m,@m+0';s/X/=shift;/g;s/Y/sub /g;s|Z|\${c}{join"",sort split//}|g;s
/[|&]/$&$&/g;s/\b[_-k]\b/\$$&/g;eval
7デフォルトの名無しさん:2001/05/22(火) 15:59
すんません、犬と母、または犬と父は船に一緒に乗ることはみとめるのでしょうか。
船上では犬は噛まない??
8デフォルトの名無しさん:2001/05/22(火) 16:02
同様に、母と息子、父と娘は一緒に乗れるのか。
船上ではさすがに手をださない?
9デフォルトの名無しさん:2001/05/22(火) 16:02
船の上でも同時存在ルールは適用されますので、犬は執事としか船に乗れません。
10デフォルトの名無しさん:2001/05/22(火) 16:15
母と息子、父と娘もだめなのね。
いけるんか?
11デフォルトの名無しさん:2001/05/22(火) 16:16
ということは一番最初は、父&母、執事&犬、しか選択肢はないんですな
12無責任な名無しさん:2001/05/22(火) 16:43
>>2
課題って学校のって事ですか?
こんな問題出す学校あったら凄いなぁ
と私は思うんだけど
犬が〜 はともかく親が〜はどうしても
やばげな解釈しか出来ないし(笑

>>11
父&母で行ったらどちらかが帰ってきたらアウトか
両方で帰ってくるで意味無しなので最初の選択は決定ですね
解答は>>3さんがいわれているところにありますよね
javaのが一番解りやすいと思う(笑
13デフォルトの名無しさん:2001/05/22(火) 17:19
ttp://member.nifty.ne.jp/K-8_PLANT/tsuka/bsiq150.html

これが解きたいだけじゃない?
14デフォルトの名無しさん:2001/05/22(火) 17:26
娘に手を出そうYO!!
ハァハァ
15デフォルトの名無しさん:2001/05/22(火) 17:28
メイド>執事 (藁
16:2001/05/22(火) 17:36
課題とかじゃありません。
学生でも研修生でも現業でもありません。
以前、仕事でしたが今は違います。
遊びでこの種の問題解いてたら一般式を考え始めました。
2chは1年以上利用してますが、この板は初めてです。

>>5
エレガントとは拡張性、処理速度、単純さ、斬新さなどいろんな意味です。

http://piza.2ch.net/test/read.cgi?bbs=tech&key=989687023
にもあるようですが雑すぎます。
17デフォルトの名無しさん:2001/05/22(火) 17:49
いいな、俺も娘に手を出してみたいよ
18無責任な名無しさん:2001/05/22(火) 19:33
>>16
Perlが読めないだけじゃないの?(藁
19デフォルトの名無しさん:2001/05/22(火) 19:37
その日母は言った。

母:「パパとママどっちについてくるのか決めなさい」
母はそう言っていたが実際のところは
ほとんど強制で息子1・2娘1・2共々母の実家に連れて行かれる事になった。
犬のポチは何故か母にはほとんどなついておらず、
父の下に残る事になった。

母は少しノイローゼ気味になっていた。
子供を母の実家に連れて行くことに決まったとき、父は何も言わなかった。

そして母の実家に行く前日の夜、息子1はこっそりと執事の部屋に行った。
息子1:「じいや、起きてる?」
執事:「ぼっちゃま?どうしたのですか?こんな夜中に・・・」
執事:「明日は朝が早いですじゃ、眠った方がお体のためですじゃ・・・」
息子1:「いいんだ、今日はじいやといられる最後の日だもん」
執事:「ぼっちゃま・・・・」

そう、子供達は全員母の実家に行く事になり、執事も今夜で仕事をやめる事になっていた。
息子1:「じいや、僕ママが嫌い・・・いつもパパが遅く帰ってくるからって僕達に怒鳴ってばかりなんだもの」

父はプログラマを仕事としていた、連日残業で帰りが遅かったのだが
母はそれが気に入らないらしく、いつも子供達にあたっていた。
20デフォルトの名無しさん:2001/05/22(火) 19:38

息子1:「でも僕達がママの所へ行く事になったとき、パパは何も言わなかったんだ・・・」
息子1:「パパは僕達が嫌いなのかな・・・・?」
執事:「子の事を思わない親はいませんですじゃ・・・」
執事:「旦那様はじいやに一言だけいいましたですじゃ・・・・「子供は母親と暮らした方が幸せになれる」・・と」
息子1:「いやだよ!!僕はパパとも別れたくないし、じいややポチとも別れたくないよ!!」
執事:「ぼっちゃま・・・・」
息子1:「今日は一緒にいい?」
執事:「もちろんですじゃ、ではじいやが本を読んで聞かせましょう。」

こうして夜は明け、いよいよ出発の朝となった。
母:「さあ、行くわよ!!早く船に乗って!!」
ポチ:「クゥーンクゥーン」
母:「まったく!!このクソ犬ったらちっとも私になつきやしない!!」
母:「さっさと保健所にでもつれてった方ががいいんじゃないの?!!」
父:「・・・」
息子1:「じいや・・・」
執事:「坊ちゃまお元気で・・・」
父:「ママと仲良くするんだぞ・・・」
やがてに時間になり船は出発した。
21デフォルトの名無しさん:2001/05/22(火) 19:38
船が出発し、岸から数百メートルは離れた頃だろうか・・・
突然ポチは船に向かって泳ぎ始めた。
ポチ:「ワン!!ワン!!」
執事:「ポチ!!」
父:「好きにさせてあげよう・・・ポチも子供達と別れがつらいんだろう・・・」

その頃船では・・・
娘1:「ねぇポチがこっちに泳いでくるよ」
母:「えー?どうしようもない馬鹿犬ねぇ、ほっておきなさい」
息子1:「ポチ・・・」
息子1:「ママ!!やっぱり僕パパのところに行く!!パパやじいややポチと一緒に暮らす!!」
母:「何行ってるのよ馬鹿馬鹿しい!!それにもう船は出てるんだし遅いわよ」

その時、息子1は船を飛び降り、岸に向かって泳ぎ始めた。
母:「何やってるのよ馬鹿!!あんな男のところに戻ったって良い事なんか何もないわよ!!」
息子1:「パパのところに帰るんだ!!」

その頃岸では・・・
執事:「旦那様!! 大変ですじゃ!!子供が一人川に飛び込んでこちらに泳いできますじゃ!!」
執事:「このあたりは流れも速いし、溺れてしまったら大変ですじゃ!!」
父:「!!!・・・あれは・・・!!」
父:「ひろゆき!!」

今まで無口だった父が突然感情を露にし、川を泳ぎ始めた。
父:「ひろゆきー!!」
息子1:「パパー!!」

・・・・
父:「はぁはぁ全く!!無茶をしおって!!」
ポチ:「クゥーン」
息子1:「だって決めたんだもの、パパとじいやとポチと一緒に暮らすって!!」
父:「ひろゆき・・・」
22デフォルトの名無しさん:2001/05/22(火) 19:38

==エピローグ==
結局ひろゆきは父の下で暮らすことになった。
じいやも仕事で帰りが遅い父の代わりにひろゆきの面倒を見るため
執事の仕事を続ける事になった。
やがてひろゆきは成長し、父に習ってプログラムなどを覚え
コンピュータにかかわる事になる。
「幼い頃父と母が別れたのは、二人の会話が少なかったからだと思うんです」
こうしてひろゆきはインターネット上に誰でも情報交換を出来る
巨大掲示板を作る事になったのだ。

======================================完======================================
23デフォルトの名無しさん:2001/05/22(火) 22:16
なんか悲惨な1になりつつあるな。
家畜と野菜を船で運ぶのがオリジナルだろ。
24:2001/05/23(水) 00:08
>>16
拡張性がない。
学生が軽視しがちな点です。

>>23
どこからどう悲惨になりつつあるのでしょうか?(19から22は無視してますが)
オリジナルや1に出した例の問題のレベルで考えてるのではありません。
たとえば定員の重量制対応とか、管理関係の複合種対応を考えているのです。
25デフォルトの名無しさん:2001/05/23(水) 00:25
1は講評ばかりしていないで、自分の作ったプログラムを示すべきでは?
我々はあなたの生徒ではありません。
26デフォルトの名無しさん:2001/05/23(水) 00:35
1の目指すところがわからんが…
こういう問題は幅優先探索で枝狩りするのが基本だとおもわれます。
27デフォルトの名無しさん:2001/05/23(水) 00:36
>母がいないと父は娘に手を出し
>父がいないと母は息子に手を出し

2ちゃん1年以上利用してるんだったらこんな例題出したら荒れると分かかるっしょ?
28デフォルトの名無しさん:2001/05/23(水) 00:50
>>16
そのスレのやつは
確かにエレガントじゃないね。
29デフォルトの名無しさん:2001/05/23(水) 00:58
>>23
オリジナルは「Missionaries and cannnivals(宣教師と人食い人)」だろ。
30デフォルトの名無しさん:2001/05/23(水) 08:27
どこから「手を出し」に歪曲したんだ...
31デフォルトの名無しさん:2001/05/23(水) 11:59
>>19-22
執事を雇えるような身分の人間がPGなんかヤラン。
32デフォルトの名無しさん:2001/05/24(木) 15:36
いいから1は「エレガント」な解法を示しやがれゴルァ
33デフォルトの名無しさん:2001/05/25(金) 12:57
みんなで泳げ。
34デフォルトの名無しさん:2001/05/25(金) 16:40
全員で瞬間移動
はい、終了
3533:2001/05/25(金) 17:08
>>34
現実味がないので却下。
36デフォルトの名無しさん
父、母には貞操帯を、犬には口輪をつける。
はい、終了。