SP243 STABLEMP - Stable Marriage Problem

题目描述

给定 $n$ 个男性和 $n$ 个女性。每位女性对所有男性按照她的偏好进行排序(她的第一选择、第二选择,依此类推)。同样,每位男性也对所有女性按照他的偏好进行排序。 目标是安排 $n$ 对婚姻,使得如果一位男性 $m$ 更偏好某个女性 $w$ 而不是他自己的妻子,那么 $w$ 更喜欢她自己的丈夫而不是 $m$。这样,没有人会离开自己的伴侣去与其他人结婚。 这个问题总是有解的,找出任一解即可。

输入格式

第一行包含一个正整数 $t \le 100$,表示数据组数。 对于每组数据: 第一行,一个正整数 $n \le 500$(需要安排的婚姻数量)。 接下来的 $n$ 行是**女性**的偏好:第 $i$ 行包含数字 $i$(表示这是第 $i$ 位女性给出的列表)以及男性的编号(第 $i$ 位女性的第一选择、第二选择……)。然后,以相同的格式给出**男性**的偏好。

输出格式

对于每组数据,共一行,包含两个数字 $m$ 和 $w$,表示编号为 $m$ 的**男性**和编号为 $w$ 的**女性**应该结婚。