CF1903F.Babysitting
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Theofanis wants to play video games, however he should also take care of his sister. Since Theofanis is a CS major, he found a way to do both. He will install some cameras in his house in order to make sure his sister is okay.
His house is an undirected graph with n nodes and m edges. His sister likes to play at the edges of the graph, so he has to install a camera to at least one endpoint of every edge of the graph. Theofanis wants to find a vertex cover that maximizes the minimum difference between indices of the chosen nodes.
More formally, let a1,a2,…,ak be a vertex cover of the graph. Let the minimum difference between indices of the chosen nodes be the minimum ∣ai−aj∣ (where i=j ) out of the nodes that you chose. If k=1 then we assume that the minimum difference between indices of the chosen nodes is n .
Can you find the maximum possible minimum difference between indices of the chosen nodes over all vertex covers?
输入格式
The first line contains a single integer t ( 1≤t≤104 ) — the number of test cases.
The first line of each test case contains two integers n and m ( 1≤n≤105,1≤m≤2⋅105 ) — the number of nodes and the number of edges.
The i -th of the following m lines in the test case contains two positive integers ui and vi ( 1≤ui,vi≤n ), meaning that there exists an edge between them in the graph.
It is guaranteed that the sum of n over all test cases does not exceed 105 .
It is guaranteed that the sum of m over all test cases does not exceed 2⋅105 .
输出格式
For each test case, print the maximum minimum difference between indices of the chosen nodes over all vertex covers.
输入输出样例
输入#1
3 7 6 1 2 1 3 1 4 1 6 2 3 5 7 3 3 1 2 1 3 1 1 2 4 1 2 1 2 2 1 1 1
输出#1
2 3 2
说明/提示
In the first test case, we can install cameras at nodes 1 , 3 , and 7 , so the answer is 2 .
In the second test case, we can install only one camera at node 1 , so the answer is 3 .