#D0965. 队伍配对
队伍配对
题目描述
33DAI 在给一项赛事排赛程。共有 支队伍(编号 到 ),要安排恰好 场比赛,每场比赛由两支不同的队伍进行;同一对队伍之间最多打一场比赛。
赛事主办方给 33DAI 的要求是:第 支队恰好要打 场比赛。
请你给出一种满足要求的赛程安排;如果不存在这样的安排,输出 No。
本题的答案不唯一,只要给出任意一种满足要求的安排都算正确。
输入格式
输入的第一行是一个整数 ,表示测试用例组数。
接下来依次给出 组测试用例,每组测试用例的格式为:
- 第一行两个整数 ;
- 第二行 个整数 。
输出格式
对每组测试用例:
- 若存在满足要求的安排,输出
Yes,随后 行,每行两个整数 (,),表示安排一场 队与 队的比赛; - 若不存在这样的安排,输出一行
No。
特别地,当 时也请输出 No(此时没有任何比赛可以列出来,用 No 表示"不需要安排")。
3
3 3
2 2 2
4 2
1 1 1 1
3 1
0 1 2
Yes
1 2
1 3
2 3
Yes
1 2
3 4
No
样例 1 解释
第 1 组:、、。样例安排了三场比赛 1 2、1 3、2 3:每支队都打了 场,三场比赛的对阵互不相同,也都没有自己和自己打,满足要求。
第 2 组:、、。样例安排 1 2 与 3 4:四支队各打 场,满足要求。
第 3 组:、、。 的总和是 ,可是 场比赛只会贡献 个"出场次数",总和对不上,所以不存在满足要求的安排,输出 No。
样例 2
见 teams2.in 与 teams2.ans。
样例 3
见 teams3.in 与 teams3.ans。
数据范围
对于所有测试数据,保证:
- ;
- ;
- ,;
- 所有测试用例的 之和不超过 。
子任务
本题共 20 个测试点,按测试点计分:
| 测试点 | 分值 | 每个测试点 | 特殊限制 |
|---|---|---|---|
| 且 | |||
| 且 | |||
| 无额外限制 |
每个测试点单独评分,全部测试点的得分之和即为本题得分。