AT_keyence2020_e.Bichromization
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个包含 N 个顶点和 M 条边的连通无向图。第 i 条边(1≤i≤M)连接顶点 Ui 和顶点 Vi,且为双向边。此外,给定 N 个整数 D1,D2,…,DN。
请判断是否存在一种方案,可以为该图的每个顶点分配白色或黑色,并为每条边分配一个 1 到 109 之间的整数权值,使得满足以下条件。如果存在,请给出一种满足条件的分配方案。
- 被分配为白色和黑色的顶点都至少有一个。
- 对于每个顶点 v(1≤v≤N),满足以下条件:
- 从顶点 v 出发,经过若干条边,移动到一个与 v 分配颜色不同的顶点时,所需的最小总代价恰好为 Dv。
其中,图上的移动代价指的是经过的所有边的权值之和。
输入格式
输入以如下格式从标准输入读入。
N M D1 D2 … DN U1 V1 U2 V2 ⋮ UM VM
输出格式
如果无法分配,输出一行 -1。
如果可以分配,输出一种分配方案,格式如下:
S
C1
C2
⋮
CM
其中:
- 第 1 行的 S 是一个长度为 N 的字符串,第 i 个字符(1≤i≤N)为
W表示顶点 i 分配为白色,为B表示分配为黑色。 - 第 i+1 行(1≤i≤M)的 Ci 表示第 i 条边分配的权值(输出为整数)。
输入输出样例
输入#1
5 5 3 4 3 5 7 1 2 1 3 3 2 4 2 4 5
输出#1
BWWBB 4 3 1 5 2
输入#2
5 7 1 2 3 4 5 1 2 1 3 1 4 2 3 2 5 3 5 4 5
输出#2
-1
输入#3
4 6 1 1 1 1 1 2 1 3 1 4 2 3 2 4 3 4
输出#3
BBBW 1 1 1 2 1 1
说明/提示
限制条件
- 2≤N≤100000
- 1≤M≤200000
- 1≤Di≤109
- 1≤Ui,Vi≤N
- 给定的图是连通的,不包含自环和重边。
- 所有输入值均为整数。
样例解释 1
如输出样例所示进行颜色和权值分配时,例如从顶点 5 出发,经过顶点 4 再到顶点 2,可以到达一个与顶点 5 颜色不同的顶点,此时总代价为 7,满足条件。对其他顶点也可以验证满足条件。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?