#B4045. [语言月赛 202410] 同桌

[语言月赛 202410] 同桌

题目描述

一个班级内有 2n2n 个小朋友,编号依次为 1,2,,2n1,2,\ldots, 2n。教室里有 nn 张桌子,每张桌子可以坐两个人。坐在同一张桌子旁边的小朋友互为同桌。一个小朋友的同桌不能是自己。

老师问每个小朋友想和谁做同桌,ii 号小朋友的回答是想和 pip_i 号小朋友做同桌。

请你帮老师判断一下,老师能否让每个小朋友都满意?

输入格式

输入的第一行有一个正整数 nn,表示桌子的张数。

第二行有 2n2n 个数 p1,p2,,p2np_1,p_2,\ldots,p_{2n},表示每个小朋友想和谁做同桌。

输出格式

如果老师可以让所有小朋友都满意,则输出 Yes,否则输出 No

3
2 1 6 5 4 3

Yes
2
1 2 4 3

No
2
2 3 4 1

No

提示

【样例 1 解释】

老师可以让 1,21,2 号小朋友坐在一张桌子旁,3,63,6 号小朋友坐在第二张桌子旁,4,54,5 坐在第三张桌子旁。

【样例 2 解释】

11 号小朋友的同桌肯定不会是自己(因为每张桌子一定恰好坐 22 个小朋友)。

【样例 3 解释】

11 号小朋友想和 22 号小朋友做同桌,然而 22 号小朋友却希望和 33 号小朋友做同桌,所以不可能 1,21,2 号小朋友同时满意。

如果你进一步思考会发现,老师最多同时让 22 个小朋友满意。

【数据范围】

本题采用捆绑测试,一个子任务内有多个测试点,同时答对子任务内所有测试点才能拿到对应分数

  • 子任务 1(99 分):n=1n=1
  • 子任务 2(1212 分):n=2n=2
  • 子任务 3(2828 分):保证 piip_i\ne i
  • 子任务 4(5151 分):无特殊限制。

对于全体数据,保证 1n50001\le n\le 50001pi2n1\le p_i\le 2n