CF1439B.Graph Subset Problem
省选/NOI-
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
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.
给你一个包含 n 个顶点和 m 条边的无向图,以及一个整数 k。
请找出以下二者之一:
- 一个大小为 k 的团(clique),或
- 一个非空的顶点子集,使得该子集中的每个顶点在该子集中至少有 k 个邻居。
如果既不存在这样的团,也不存在这样的子集,则报告该情况。
若一个顶点子集的大小为 k,且其中任意两个顶点之间均存在一条边,则称该子集为一个大小为 k 的团。若两个顶点之间存在一条边,则称它们互为邻居。
输入格式
The first line contains a single integer t (1≤t≤105) — 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≤n,m,k≤105, k≤n).
Each of the next m lines contains two integers u,v (1≤u,v≤n,u=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⋅105.
第一行包含一个整数 t(1≤t≤105),表示测试用例的数量。接下来的若干行包含各测试用例的描述。
每个测试用例的描述的第一行包含三个整数 n、m、k(1≤n,m,k≤105,且 k≤n)。
接下来的 m 行中,每行包含两个整数 u、v(1≤u,v≤n,且 u=v),表示顶点 u 与顶点 v 之间存在一条边。
保证图中不存在自环或重边。同时保证所有测试用例的 n 之和以及所有测试用例的 m 之和均不超过 2⋅105。
输出格式
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.
对于每个测试用例:
-
若你找到了一个顶点子集,使得该子集中的每个顶点在该子集中至少有 k 个邻居,则在第一行输出 1 和该子集的大小;在第二行以任意顺序输出该子集中的所有顶点。
-
若你找到了一个大小为 k 的团(clique),则在第一行输出 2,在第二行以任意顺序输出该团中的所有顶点。
-
若不存在满足要求的子集或团,则输出 −1。
若存在多个可能的答案,输出其中任意一个即可。
输入输出样例
输入#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.
在第一个测试用例中:子集 {1,2,3,4} 是一个大小为 4 的团(clique)。
在第二个测试用例中:原图中每个顶点的度数至少为 3。因此,所有顶点构成的集合即为正确答案。
在第三个测试用例中:不存在大小为 4 的团,也不存在满足要求的子集,因此答案为 −1。
输入解题思路,AI测评打分。不知道怎么写?