安定結婚問題
Posted: 2010年8月23日(月) 16:04
こんにちは、みけCATです。
みんな高度な質問をされている中、このような初歩的な質問で申し訳ありません。
有名な「安定結婚問題」を解くソースコードを書いてみました。
このソースコードで解こうとしている問題は次の通りです。
安定結婚の問題(再構築版・精度注意)
男女がそれぞれn人います。
男女それぞれが、異性に対して好き度の順位を付けています。
このとき、男女一人ずつの「安定な」(後述)組み合わせを見つけてください。
「安定な」とは
たとえば、n=3で、男0の順位が0 1 2、女0の順位が0 2 1だとします。
このとき、男0と女1、男1と女2、男2と女0がペアを作ると、
男0は女1より女0の方が好き、女0は男2より男0の方が好きなので、
この二人が駆け落ちを起こします。
このとき、これを「安定でない」と言います。
すなわち、このようにならない組み合わせが「安定」です。
入力の形式
1行目にnが与えられます。
2~(n+1)行目までは、男(行数-2)の好き度の順位のn個の数字が空白区切りで与えられます。
(n+2)~(2n+2)行目までは、女(行数-2)の好き度の順位のn個の数字が空白区切りで与えられます。
出力の形式
(n+1)行目に男nと組み合わせる女の番号を出力します。
最後の行の後にも改行コードを入れます。
ソースコードと入出力例は添付しました。
これであっているか教えてくだされば幸いです。
よろしくお願いします。
みんな高度な質問をされている中、このような初歩的な質問で申し訳ありません。
有名な「安定結婚問題」を解くソースコードを書いてみました。
このソースコードで解こうとしている問題は次の通りです。
安定結婚の問題(再構築版・精度注意)
男女がそれぞれn人います。
男女それぞれが、異性に対して好き度の順位を付けています。
このとき、男女一人ずつの「安定な」(後述)組み合わせを見つけてください。
「安定な」とは
たとえば、n=3で、男0の順位が0 1 2、女0の順位が0 2 1だとします。
このとき、男0と女1、男1と女2、男2と女0がペアを作ると、
男0は女1より女0の方が好き、女0は男2より男0の方が好きなので、
この二人が駆け落ちを起こします。
このとき、これを「安定でない」と言います。
すなわち、このようにならない組み合わせが「安定」です。
入力の形式
1行目にnが与えられます。
2~(n+1)行目までは、男(行数-2)の好き度の順位のn個の数字が空白区切りで与えられます。
(n+2)~(2n+2)行目までは、女(行数-2)の好き度の順位のn個の数字が空白区切りで与えられます。
出力の形式
(n+1)行目に男nと組み合わせる女の番号を出力します。
最後の行の後にも改行コードを入れます。
ソースコードと入出力例は添付しました。
これであっているか教えてくだされば幸いです。
よろしくお願いします。