Graph Subset Problem

题意翻译

$T$ 组数据。 给你一个有 $n$ 个顶点和 $m$ 条边的无向图,和一个整数 $k$。 请你找到一个大小为 $k$ 的团(称一个 $k$ 个点的集合为团,当且仅当点集大小为 $k$,并且该子集的每两个顶点之间存在一条边。)或一个非空的顶点子集,使该子集的每个顶点在该子集中至少有 $k$ 个邻居。 输出方案。 对于每个测试用例: - 如果找到一个合法点集,在第 $1$ 行输出 `1` 和子集的大小。在第 $2$ 行,以任意顺序输出子集的顶点。 - 如果找到一个大小为 $k$ 的团,那么在第 $1$ 行输出 `2`。第 $2$ 行中,以任意顺序输出该团的顶点。 - 如果没有所需的子集和集团,请输出 `-1`。 - 如果存在多个可能的答案,输出其中任意一个。

题目描述

You are given an undirected graph with $ n $ vertices and $ m $ edges. Also, you are given an integer $ k $ . Find either a clique of size $ k $ or a non-empty subset of vertices such that each vertex of this subset has at least $ k $ neighbors in the subset. If there are no such cliques and subsets report about it. A subset of vertices is called a clique of size $ k $ if its size is $ k $ and there exists an edge between every two vertices from the subset. A vertex is called a neighbor of the other vertex if there exists an edge between them.

输入输出格式

输入格式


The first line contains a single integer $ t $ ( $ 1 \leq t \leq 10^5 $ ) — the number of test cases. The next lines contain descriptions of test cases. The first line of the description of each test case contains three integers $ n $ , $ m $ , $ k $ ( $ 1 \leq n, m, k \leq 10^5 $ , $ k \leq n $ ). Each of the next $ m $ lines contains two integers $ u, v $ $ (1 \leq u, v \leq n, u \neq v) $ , denoting an edge between vertices $ u $ and $ v $ . It is guaranteed that there are no self-loops or multiple edges. It is guaranteed that the sum of $ n $ for all test cases and the sum of $ m $ for all test cases does not exceed $ 2 \cdot 10^5 $ .

输出格式


For each test case: If you found a subset of vertices such that each vertex of this subset has at least $ k $ neighbors in the subset in the first line output $ 1 $ and the size of the subset. On the second line output the vertices of the subset in any order. If you found a clique of size $ k $ then in the first line output $ 2 $ and in the second line output the vertices of the clique in any order. If there are no required subsets and cliques print $ -1 $ . If there exists multiple possible answers you can print any of them.

输入输出样例

输入样例 #1

3
5 9 4
1 2
1 3
1 4
1 5
2 3
2 4
2 5
3 4
3 5
10 15 3
1 2
2 3
3 4
4 5
5 1
1 7
2 8
3 9
4 10
5 6
7 10
10 8
8 6
6 9
9 7
4 5 4
1 2
2 3
3 4
4 1
1 3

输出样例 #1

2
4 1 2 3 
1 10
1 2 3 4 5 6 7 8 9 10 
-1

说明

In the first test case: the subset $ \{1, 2, 3, 4\} $ is a clique of size $ 4 $ . In the second test case: degree of each vertex in the original graph is at least $ 3 $ . So the set of all vertices is a correct answer. In the third test case: there are no cliques of size $ 4 $ or required subsets, so the answer is $ -1 $ .