#D1012. 度数谜题
度数谜题
题目描述
33DAI 要给 个村庄修路,编号从 到 。他希望第 个村庄恰好与 个其他村庄之间各修一条路。
修路有以下限制:
- 每一条路连接两个不同的村庄;
- 任意两个村庄之间至多修一条路(不能有重边)。
33DAI 想知道:是否存在一种修路方案?如果存在,请输出任意一种。
输入格式
第一行一个整数 。
第二行 个整数 ,相邻两个整数之间用一个空格隔开。
输出格式
如果不存在方案,输出一行 NO。
如果存在方案,第一行输出 YES,第二行输出一个整数 ,表示修的道路条数;接下来 行,每行两个整数 ,表示在 号村庄与 号村庄之间修一条路。
4
3 3 0 0
NO
样例 1 解释
号和 号村庄的度数都是 ,说明它们都要和其余所有村庄相连,于是 号、 号村庄至少各有一条路;但题目给出的 ,矛盾,所以不存在方案,输出 NO。
5
2 2 2 2 2
YES
5
1 2
2 3
3 4
4 5
5 1
样例 2 解释
这 条路首尾相接围成一个环,每个村庄恰好与两个村庄相连,满足 ,所以是一种合法方案。
样例 3
样例 4
数据范围
对于全部测试数据,保证:
- ;
- 。
提示
本题答案不唯一:只要输出的图满足"没有自环、没有重边,且第 个点的度数恰好为 "即可。评测使用 Special Judge。
子任务
本题共 20 个测试点,按测试点计分:
| 测试点 | 分值 | 每个测试点 | 特殊限制 |
|---|---|---|---|
| 无额外限制 |
每个测试点单独评分,全部测试点的得分之和即为本题得分。