AT_1_ttpc2024_1_a.Don't Detect Cycle

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

有一个图 GG,由 NN 个顶点组成,顶点编号为 1,2,…,N1, 2, \ldots, N。起初,图中没有任何边。

接下来,我们将向图中添加 MM 条无向边。图中最终的边是预先确定的:第 ii 条边 (1≤i≤M)(1 \le i \le M) 连接顶点 uiu_i 和 viv_i。我们称其为边 ii。添加后的图确保是简单图。

现在,你要判断是否存在一种排列 (P1,P2,…,PM)(P_1, P_2, \ldots, P_M) 满足以下条件,并如满足条件则给出这样的一个实例。

条件:

  • 按照索引顺序为 i=1,2,…,Mi = 1, 2, \ldots, M,依次执行以下操作:
    1. 如果当前图中包含 uPiu_{P_i} 或 vPiv_{P_i} 的环存在,则立即停止操作,此时条件不成立。
    2. 在图中添加边 PiP_i(即连接顶点 uPiu_{P_i} 和 vPiv_{P_i} 的无向边)。

共给出 TT 个测试用例,请分别解决每个测试用例。

环的定义:图 GG 中的环是指满足以下条件的顶点序列 (v0,…,vL−1)(v_0, \dots, v_{L-1}) 和边序列 (e0,…,eL−1)(e_0, \dots, e_{L-1}):

  • L≥1L \ge 1
  • 若 i≠ji \neq j,则 vi≠vjv_i \neq v_j 且 ei≠eje_i \neq e_j
  • 对于 0≤i≤L−20 \le i \le L-2,边 eie_i 连接顶点 viv_i 和 vi+1v_{i+1}
  • 边 eL−1e_{L-1} 连接顶点 vL−1v_{L-1} 和 v0v_0

简单图的定义:图 GG 被称作简单图,是因为没有自环和多重边。

输入格式

输入通过标准输入给出,格式如下:

TT
case1\text{case}_1
case2\text{case}_2
⋮\vdots
caseT\text{case}_T

每个 casei(1≤i≤T)\text{case}_i (1 \le i \le T) 对应一个测试用例,格式如下:

NN MM
u1u_1 v1v_1
u2u_2 v2v_2
⋮\vdots
uMu_M vMv_M

输出格式

对于每个测试用例,如果存在满足条件的排列 (P1,P2,…,PM)(P_1, P_2, \ldots, P_M),则输出这样一个排列,元素之间用空格隔开;如果不存在,则输出 -1。

输入输出样例

  • 输入#1

    1
    4 4
    1 2
    2 3
    3 4
    4 2

    输出#1

    2 4 1 3
  • 输入#2

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

    输出#2

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

说明/提示

  • 输入中所有的数值均为整数。
  • 1≤T≤20001 \le T \le 2000
  • 每个测试用例满足:
    • 2≤N≤40002 \le N \le 4000
    • 1≤M≤40001 \le M \le 4000
    • 1≤ui,vi≤N1 \le u_i, v_i \le N (1≤i≤M1 \le i \le M)
    • 添加所有给定的边后,图为简单图。
  • 每份输入文件中,所有测试用例 N,MN, M 总和不超过 40004000。

部分评分

若仅回答满足以下条件的数据集,可获得 3030 分:

  • T≤50T \le 50
  • 每个测试用例满足:
    • N≤100N \le 100
    • M≤100M \le 100
  • 每份输入文件中,所有测试用例 N,MN, M 总和不超过 100100

示例说明 1

给定图如下图所示:
图示

按顺序 P=(1,2,3,4)P = (1, 2, 3, 4) 添加边后,图为如下图、符合条件:
图示
图示

因此,1 2 3 4 是一个正确的输出方案。若按顺序 P=(2,3,4,1)P = (2, 3, 4, 1) 添加边,则在添加边 11 时会形成包含顶点 22 的环,故不满足条件:
图示
图示

另外,像 P=(1,4,3,2)P = (1, 4, 3, 2) 或 P=(2,4,1,3)P = (2, 4, 1, 3) 的排列也符合条件。

示例说明 2

如果不存在满足条件的排列 PP,则请输出 -1。注意,图不一定连通。

本翻译由 AI 自动生成

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

首页