#P14855. [OOI2026 资格赛]History
[OOI2026 资格赛]History
题目描述
传统上,很少有学生参加历史课,于是老师决定改变制度,引入必须在课堂上当面完成的小组项目。现在所有编号为 到 的 名学生都会来上课。老师知道第 名学生的知识水平为 。
为了完成小组项目,学生们需要两两配对。为了让事情不那么简单,老师提出了如下要求:编号不同的两个人 可以组成一对,当且仅当满足以下至少一个条件:
- ;
- ,其中 表示按位异或。
请帮助学生判断,是否可以把所有学生两两配对,使得每一对都满足老师的要求。
输入格式
第一行包含三个整数 (,,且 为偶数),分别表示学生数量、配对所需的和以及配对所需的异或值。
第二行包含 个整数 (),表示学生的知识水平。
输出格式
如果可以完成配对,第一行输出 Yes。
接下来输出 行,每行包含两个整数 (,),表示编号为 和 的学生组成一对。每个学生编号必须在所有输出的配对中恰好出现一次。
如果无法完成满足条件的配对,则只输出一行 No。
样例
样例输入 1
6 7 0
1 2 9 9 5 6
样例输出 1
Yes
1 6
2 5
4 3
样例输入 2
4 6 2
1 5 2 3
样例输出 2
No
样例解释
第一个样例中的配对是合法的:
- ;
- ;
- 。
计分方式
测试数据包含八个测试组。只有当某组所有测试点以及该组要求的若干前置组均通过时,才能获得该组分数。注意,某些测试组不要求通过样例测试。离线测试表示该组测试结果会在比赛结束后才可见。
| 组别 | 分数 | 前置组 | 备注 | |
|---|---|---|---|---|
| 0 | - | 样例 | ||
| 1 | 9 | 0 | - | |
| 2 | 15 | 0-1 | ||
| 3 | 7 | - | ||
| 4 | 17 | |||
| 5 | 10 | 0-2 | - | |
| 6 | 21 | - | 中所有数互不相同 | |
| 7 | 11 | 0-2, 5 | - | |
| 8 | 10 | - | 0-7 | 离线测试 |