#H1007. 【模板】Stable Matching

【模板】Stable Matching

题目描述

在大学校园内有 nn 个男生和 nn 个女生。每个男生心目中有他对每个女生喜欢程度的一个排列,每个女生心目中也有她对每个男生喜欢程度的一个排列。某一天,这些学生想要集体脱单,请你找到一个匹配方案,使得这个脱单计划是稳定的。

如果存在一个男生 ii,他被匹配到的对象是女生 xx,又存在一个女生 yy,她被匹配到的对象是男生 jj,然而在 ii 心目中,他比起 xx 更喜欢 yy,在 yy 心目中,她比起 jj 更喜欢 ii,那么这个匹配方案就是不稳定的,因为男生 ii 和女生 yy 可能会私奔。

相反,没有出现不稳定情况的匹配方案是稳定的。

输入格式

11 行一个数 nn
22 行至第 n+1n+1 行,每行 nn 个数,第 i+1i+1 行表示第 ii 个男生心目中对女生的喜爱程度排列。
n+2n+2 行至第 2n+12n+1 行,每行 nn 个数,第 n+i+1n+i+1 行表示第 ii 个女生心目中对男生的喜爱程度排列。

输出格式

nn 行,表示一个稳定匹配的方案。第 ii 行表示第 ii 个女生匹配到的男生序号。方案可能有多种,你只需要给出一种方案即可。

4
1 2 3 4
3 1 2 4
2 1 3 4
2 3 1 4
2 1 4 3
1 3 2 4
4 1 2 3
3 4 1 2
2
1
4
3

数据规模与约定

对于 100%100\% 的数据,n1000n\leq 1000