#ARC152D. 半棵树
半棵树
半棵树
时间限制:2s
空间限制:512MB
题目描述
有一个包含 个顶点的无向图,顶点编号为 到 ,初始没有边。你可以先向图中加入若干条边。加入完毕后,对你加入的每一条边 ,系统还会加入一条连接 与 的边;即使该边已经存在,也仍会加入,从而形成重边。
请构造一组最初加入的边,使上述操作完成后的图是一棵树;若不存在这样的边集,则报告无解。
输入格式
输入一行,包含两个整数 。
输出格式
若无解,输出一行 -1。
否则,第一行输出最初加入的边数 ,满足 。接下来 行,第 行输出两个整数 ,表示加入一条连接这两个顶点的无向边。边的顺序以及一条边两个端点的顺序均可任意。
如果存在多种合法方案,输出任意一种即可。
样例输入 1
5 2
样例输出 1
2
2 3
2 4
样例输入 2
2 1
样例输出 2
-1
样例输入 3
7 1
样例输出 3
3
0 1
2 3
4 5
数据范围
- ;
- 。
| 子任务编号 | 分值 | 特殊限制 |
|---|---|---|
| 1 | 20 | |
| 2 | 40 | |
| 3 | 无特殊限制 |