bzoj#P4436. [Cerc2015] Kernel Knights

[Cerc2015] Kernel Knights

题目描述

「Jousting」是一种让骑士在高速骑行中用木制长矛相互攻击对方的中世纪竞技游戏。现在,一共有 2n2n 个骑士进入一场「Jousting」锦标赛。骑士们被平均分配到 22 个 house。竞赛开始时,所有骑士都会对另一个 house 的骑士之一发起挑战。

一组解被定义为一个集合 SS 满足:

  • SS 中的骑士不存在相互挑战。
  • 所有不在 SS 中的骑士都被 SS 中的骑士挑战。

现给出官方公布的挑战场次,找出一组解。

输入格式

第一行包括一个整数 nn——每个 house 的骑士数。第一个 house 的骑士编号为 1n1 \sim n,第二个 house 的骑士编号为 n+12nn + 1 \sim 2n

接下来一行包含 nn 个整数 f1,f2,,fnf_1, f_2, \dots ,f_n——fkf_k 指第 kk 名骑士发起的挑战。

最后一行包含 nn 个整数 s1,s2,,sns_1, s_2, \dots, s_n——sks_k 指第 n+kn + k 名骑士发起的挑战。

输出格式

在一行中输出 SS 中骑士的编号。
如果数据存在多组解,你只需任意输出一组。

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

数据范围与约定

对于 100%100 \% 的数据,1n1051 \le n \le 10^51fk,skn1 \le f_k, s_k \le n,数据保证有解。