题目名称 4183. 彩色道路
输入输出 paintoads.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 512 MiB
测试数据 50
题目来源 Gravatarsywgz 于2025-10-27加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:0, 提交:14, 通过率:0%
GravatarLikableP 70 2.559 s 9.12 MiB C++
Gravatar会挽弯弓满月 70 2.901 s 10.64 MiB C++
GravatarLikableP 70 3.463 s 9.74 MiB C++
Gravatar梦那边的美好ME 70 3.523 s 14.79 MiB C++
Gravatar梦那边的美好ME 70 3.572 s 14.81 MiB C++
Gravatardream 70 4.106 s 10.49 MiB C++
Gravatarwdsjl 70 4.552 s 16.87 MiB C++
Gravatarxuyuqing 70 9.238 s 16.71 MiB C++
Gravatar我常常追忆未来 70 20.429 s 37.71 MiB C++
GravatarLikableP 58 2.800 s 9.65 MiB C++
本题关联比赛
csp2025模拟练习1
关于 彩色道路 的近10条评论(全部评论)

4183. 彩色道路

★★☆   输入文件:paintoads.in   输出文件:paintoads.out   评测插件
时间限制:1 s   内存限制:512 MiB

【题目背景】

K 市的市长 老A 成功地改进了该市的道路规划。然而,来自 R 市的一位售货员仍然抱怨道路的颜色不够丰富。老A 的下一个任务就是粉刷一些道路。

【题目描述】

K 市的道路规划可以表示为 N 个十字路口和 M 条道路,第 i 条道路连接第 ui 个十字路口和第 vi 个十字路口。一开始所有道路都是灰色的。老A 想要把一些道路染成红色或者蓝色,满足以下条件:

  • 对于每一条灰色道路,假设其连接十字路口 ui 和十字路口 vi,一定存在一条从十字路口 ui 到十字路口 vi 的路径,满足路径上的道路颜色红色和蓝色交替出现,任何道路都不是灰色的。

为了降低城市的支出,老A 希望尽可能少地对道路进行染色。请帮助 K 市设计一个符合要求的染色方案。

【输入格式】

输入的第一行包含两个整数 N 和 M1N,M2×10^5)。

接下来 M 行中的第 i 行包含两个整数 ui 和 vi 表示存在一条连接十字路口 ui 和十字路口 vi 的道路(1ui,viNu!= vi)。

任意两个十字路口之间至多存在一条道路。

【输出格式】

输出一个长度为 M 的字符串,表示染色的方案。第 i 个字符表示第 i 条道路的颜色,R 表示红色,B 表示蓝色,G 表示灰色(未染色)。

注意你必须在满足条件的情况下最小化染色的道路数目。如果存在多个这样的染色方案,输出任意一个。

【样例输入1】

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

【样例输出1】

BRGBBGG

【样例输入2】

4 2
1 2
3 4

【样例输出2】

BB

【样例说明】

【样例 1 解释】 

十字路口以及有效的道路的示意图如下所示,该方案最小化了染色道路的数量。请注意,每条道路上的颜色显示为 R(红色)、B(蓝色)或 G(灰色)。

所有为染色的道路都满足条件:

  • 第二条路标记为 G2 连接了十字路口 2 和 4,路径 2,1,4 上的道路被染上红色、蓝色。
  • 第三条路标记为 G3 连接了十字路口 5 和 2,路径 5,4,1,2 上的道路被染上红色、蓝色、红色。
  • 第五条路标记为 G5 连接了十字路口 4 和 3,路径 4,1,3 上的道路被染上蓝色、红色。

【样例 2 解释】

请注意 Kitchener 的道路可能不是连通的。

大样例

【数据规模与约定】

对于所有数据,保证 1N,M2×10^51ui,viNui  vi

测试点 附加条件
1-10 对任意 1i<N 存在一条连接 i 和 i+1 的道路(还可能存在其他道路)
11-20 图连通并且 N=M
21-34 任何道路都不同时属于至少两个简单环(见下文定义)
35-50
定义:若用 uv 表示一条连接 u 和 v 的道路,则称 k3 且所有 wi 互不相同时,序列 w1w2wkw1 为简单环。

【来源】

在此键入。