T528361 [入门赛 D] 同桌

题目描述

一个班级内有 $2n$ 个小朋友,编号依次为 $1,2,\ldots, 2n$。教室里有 $n$ 张桌子,每张桌子可以坐两个人。坐在同一张桌子旁边的小朋友互为同桌。**一个小朋友的同桌不能是自己。** 老师问每个小朋友想和谁做同桌,$i$ 号小朋友的回答是想和 $p_i$ 号小朋友做同桌。 请你帮老师判断一下,老师能否让每个小朋友都满意?

输入格式

输入的第一行有一个正整数 $n$,表示桌子的张数。 第二行有 $2n$ 个数 $p_1,p_2,\ldots,p_{2n}$,表示每个小朋友想和谁做同桌。

输出格式

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

说明/提示

【样例 1 解释】 老师可以让 $1,2$ 号小朋友坐在一张桌子旁,$3,6$ 号小朋友坐在第二张桌子旁,$4,5$ 坐在第三张桌子旁。 【样例 2 解释】 $1$ 号小朋友的同桌肯定不会是自己(因为每张桌子一定恰好坐 $2$ 个小朋友)。 【样例 3 解释】 $1$ 号小朋友想和 $2$ 号小朋友做同桌,然而 $2$ 号小朋友却希望和 $3$ 号小朋友做同桌,所以不可能 $1,2$ 号小朋友同时满意。 如果你进一步思考会发现,老师最多同时让 $2$ 个小朋友满意。 【数据范围】 **本题采用捆绑测试,一个子任务内有多个测试点,同时答对子任务内所有测试点才能拿到对应分数**。 - 子任务 1($9$ 分):$n=1$。 - 子任务 2($12$ 分):$n=2$。 - 子任务 3($28$ 分):保证 $p_i\ne i$。 - 子任务 4($51$ 分):无特殊限制。 对于全体数据,保证 $1\le n\le 5000$,$1\le p_i\le 2n$。