CF2150F.Cycle Closing

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Kubbi - The Cairn

⠀

给定一个无向连通图 GG,包含 nn 个节点和 mm 条边。图中不存在自环和重边。

每次操作,你需要按如下顺序进行:

  • 选择一个正整数 kk(1≤k≤n1 \le k \le n);
  • 选择一个整数 ss(0≤s≤n⋅(n−1)20 \le s \le \frac{n \cdot (n - 1)}{2});
  • 输出 ss 条长度为 k−1k-1 的简单路径(vi,1↔vi,2↔…↔vi,kv_{i,1} \leftrightarrow v_{i,2} \leftrightarrow \ldots \leftrightarrow v_{i,k});
  • 对于每个 i=1i = 1 到 ss,在图中加入一条新边 (vi,1,vi,k)(v_{i,1}, v_{i,k})。

注意,操作中新加的边只能在之后的操作中使用,因为是等所有路径都输出后才添加这些边。

请在至多 22 次操作内,使图 GG 变为完全图。即,图中每对 u<vu < v 的节点 (u,v)(u, v) 都恰好有一条边。

注意:本题提供了前 1010 个测试点的输入文件和 22 个检查器(C++ 和 Python 版本),用于校验你的输出。你可以在比赛资料包中下载这些文件。

输入格式

每个测试包含多个测试用例。第一行为测试用例数 tt(1≤t≤1031 \le t \le 10^3)。接下来是各个测试用例。

每个测试用例第一行包含两个整数 nn 和 mm(3≤n≤2003 \leq n \leq 200,n−1≤m≤n(n−1)2n - 1\leq m \leq \frac{n(n-1)}{2}),表示图中节点数和边数。

接下来 mm 行,每行两个整数 uiu_i,viv_i(1≤ui,vi≤n1 \leq u_i, v_i \leq n,ui≠viu_i \neq v_i),表示一条边 (ui,vi)(u_i, v_i)。图保证连通,且不存在自环和重边。

保证所有测试用例中 ∑n2≤4⋅104\sum n^2 \leq 4 \cdot 10^4。

输出格式

对于每个测试用例,输出如下内容。

第一行,输出操作次数 opop(0≤op≤20 \le op \le 2)。对每次操作:

  • 第一行输出本次操作选择的 kk(1≤k≤n1 \le k \le n);
  • 第二行输出简单路径数 ss(0≤s≤n⋅(n−1)20 \le s \le \frac{n \cdot (n - 1)}{2});
  • 接下来 ss 行,每行 kk 个正整数,表示一条简单路径 vi,1↔vi,2↔…↔vi,kv_{i,1} \leftrightarrow v_{i,2} \leftrightarrow \ldots \leftrightarrow v_{i,k}。

输入输出样例

  • 输入#1

    3
    4 3
    1 2
    1 3
    1 4
    3 3
    1 2
    1 3
    2 3
    5 4
    4 2
    2 3
    3 5
    5 1

    输出#1

    2
    3
    1
    2 1 3
    4
    2
    4 1 2 3
    4 1 3 2
    0
    2
    4
    2
    4 2 3 5
    2 3 5 1
    3
    4
    4 5 1
    4 5 3
    2 1 5
    3 2 1

说明/提示

以下是第一个测试用例的解释:

输出内容 说明
2\texttt{2} 要进行的操作次数(=2=2)。
3\texttt{3} 第一次操作,选择 k=3k=3(路径长度为 22)。
1\texttt{1} 本次操作输出 s=1s=1 条简单路径。
2 1 3\texttt{2 1 3} 该路径为 2→1→32\to1\to3,操作结束后将加入边 (2,3)(2,3)。
4\texttt{4} 第二次操作,选择 k=4k=4(路径长度为 33)。
2\texttt{2} 本次操作输出 s=2s=2 条简单路径。
4 1 2 3\texttt{4 1 2 3} 第一条路径,操作结束后加入边 (3,4)(3,4)。
4 1 3 2\texttt{4 1 3 2} 第二条路径,操作结束后加入边 (2,4)(2,4)。
注意不能输出 4 3 1 2\texttt{4 3 1 2},因 (3,4)(3,4) 这条新加的边只有在本次操作全部结束后才会存在。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页