#CF2122D. 交通灯
交通灯
D. 交通灯
时间限制:2 秒
内存限制:256 兆字节
你有一个由 个顶点和 条边组成的简单无向连通图。
在顶点 上有一个标记。我们设初始时间为 秒。
经过 秒后,如果标记位于顶点 ,你必须且只能执行以下操作之一:
- 等待一秒,
- 通过顶点 的第 条边移动标记,耗时一秒。
顶点 的边顺序按输入中的出现顺序确定。
计算将标记从顶点 移动到顶点 所需的最短总时间,以及在总时间最短的前提下能达到的最短等待时间。
输入
每个测试包含多个测试用例。第一行包含测试用例数 ()。
每个测试用例的描述如下:
第一行包含两个整数 (,)—— 图的顶点数和边数。
接下来 行,第 行包含两个整数 ()—— 第 条边的两个顶点。
保证图是简单连通图。
保证所有测试用例的 之和不超过 , 之和不超过 。
输出
对于每个测试用例,输出一行包含两个整数 —— 最短总时间,以及在总时间最短前提下能达到的最短等待时间。
样例
输入
2
6 6
1 2
2 3
3 4
4 6
1 5
5 6
4 3
1 2
1 3
1 4
输出
4 2
3 0
说明
在第一个测试用例中,最优策略为:
- 在时间 ,等待一秒,
- 在时间 ,将标记从顶点 移动到顶点 ,
- 在时间 ,等待一秒,
- 在时间 ,将标记从顶点 移动到顶点 。
在第二个测试用例中,最优策略为:
- 在时间 ,将标记从顶点 移动到顶点 ,
- 在时间 ,将标记从顶点 移动到顶点 ,
- 在时间 ,将标记从顶点 移动到顶点 。