#P4355. [CERC2015] Kernel Knights

[CERC2015] Kernel Knights

Description

马上长矛比武是一种中世纪的比赛,参赛者骑在马上,用木制长矛高速冲刺,试图击中对方。共有 2n 名骑士参加了马上长矛比武比赛——来自两个伟大敌对家族的 n 名骑士。到达后,每位骑士向另一家族的一名骑士发起了挑战。

一个“核”被定义为骑士的某个子集 S,具有以下两个特性:

  • S 中没有骑士被 S 中的其他骑士挑战。
  • 不在 S 中的每个骑士都被 S 中的某个骑士挑战。

给定发出的挑战集,找到一个“核”。保证“核”总是存在。

Input Format

第一行包含一个整数 n (1 ≤ n ≤ 100000)——每个家族的骑士数量。第一个家族的骑士用整数 1 到 n 表示,第二个家族的骑士用整数 n+1 到 2n 表示。

接下来的行包含整数 f1f_1, f2f_2,..., fnf_n——第 k 个整数 fkf_k 是骑士 k 挑战的骑士的编号 (n+1fk2n)(n+1 ≤ f_k ≤ 2n)

接下来的行包含整数 s1s_1,s2s_2,...,sns_n——第 k 个整数 sks_k 是骑士 n+k 挑战的骑士的编号 (1skn)(1 ≤ s_k ≤ n)

Output Format

在一行中输出“核”中的骑士编号。如果有多个解,你可以输出其中任何一个。

SPJ 的格式校验较为严格,请在每个数字后面都输出一个空格,且在最后一个空格输出后请不要输出任何符号。

4 
5 6 7 7 
1 3 2 3
1 2 4 8

Hint

Central Europe Regional Contest 2015 Problem K。

题面翻译由 ChatGPT-4o 提供。