AT_kupc2020_i.Coloring Paths
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个包含 N 个顶点、M 条边的无向简单连通图。
该图的顶点编号为 1 到 N,边的编号为 1 到 M。
第 i 条边 (1≤i≤M) 连接顶点 ui 和顶点 vi。
这个图具有如下特殊性质:
- 对于任意一条边 i (1≤i≤M),都存在一条不经过边 i 的、连接 ui 和 vi 的路径。
我们将这样的路径称为“边 i 的迂回路径”。一条边的迂回路径可能有多条。
现在要用 M 种颜色(颜色编号为 1 到 M),为图中的每一条边选择一种颜色进行染色。此时,必须满足以下条件:
- 连接同一顶点的两条边,必须染成不同的颜色。
- 对于任意一条边,都存在一条该边的迂回路径,且该路径上所经过的所有边所用的颜色种类不超过 8 种。(※)
请你求出一种满足上述条件的染色方案。
此外,对于染色后的图中的每一条边,请你分别求出一条满足上面(※)条件的迂回路径所用到的颜色集合 Ti(输出方式较特殊,详见输出格式)。
在下述约束条件下,可以保证一定存在满足条件的染色方案。
输入格式
输入以如下格式从标准输入读入。
N M u1 v1 u2 v2 ⋮ uM vM
输出格式
请输出一种满足条件的染色方案,格式如下:
第 1 行输出 M 个用空格分隔的整数,表示第 i 条边染的颜色 Ci。
第 i+1 行 (1≤i≤M) 输出一个颜色集合 Ti,满足:
- 1≤∣Ti∣≤8
- 将不属于 Ti 的颜色的边和第 i 条边从图中删除后,顶点 ui 和 vi 仍然连通。
输出 Ti 时,先输出 ∣Ti∣,然后输出 Ti 中所有颜色 Di,1,Di,2,…,Di,∣Ti∣。
注意,Ti 的存在与问题描述中(※)条件下的边 i 的迂回路径的存在是等价的。
C1 C2 … CM
∣T1∣ D1,1 D1,2 … D1,∣T1∣
∣T2∣ D2,1 D2,2 … D2,∣T2∣
⋮
∣TM∣ DM,1 DM,2 … DM,∣TM∣
输出需满足以下条件:
- 1≤Ci≤M (1≤i≤M)
- 1≤∣Ti∣≤8 (1≤i≤M)
- 1≤Di,j≤M (1≤i≤M, 1≤j≤∣Ti∣)
- 不存在 j=k 使得 Di,j=Di,k
- 将第 i 条边和所有颜色不属于 Ti 的边从图中删除后,ui 和 vi 仍然连通。(1≤i≤M)
- Ci 以及 Di,j 均为整数。
只要满足上述条件,输出均视为正确。
特别地,Ti 可以包含未在满足(※)的迂回路径中使用的颜色。
输入输出样例
输入#1
10 11 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 1 10 1 4
输出#1
1 2 3 4 5 6 7 8 9 10 5 3 2 3 5 3 1 3 5 3 1 2 5 6 5 6 7 8 9 10 7 4 5 6 7 8 9 10 6 4 5 7 8 9 10 6 4 5 6 8 9 10 6 4 5 6 7 9 10 6 4 5 6 7 8 10 8 4 5 6 7 8 9 1 2 3 1 2 3
说明/提示
约束条件
- 3≤N≤5555
- 3≤M≤min(N(N−1)/2,9999)
- 1≤ui<vi≤N
- 对于 1≤i<j≤N,有 (ui,vi)=(uj,vj)
- 输入的图是连通的。
- 对于任意一条边 i (1≤i≤M),都存在一条不经过边 i 的、连接 ui 和 vi 的路径。
部分分
- 对于 N≤111 且 M≤222 的数据集,答对可得 10 分。
- 对于无额外约束的数据集,答对可得 390 分。
样例解释 1
对于边 1 的迂回路径,可以使用边 2 到边 10,这些边所用的颜色为 2 到 10,共 9 种,不满足题目条件(※)。但也存在一条迂回路径仅使用边 2、3、11,这些边所用的颜色为 2、3、5,共 3 种,满足题目条件(※)。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?