AT_keyence2020_e.Bichromization

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

有一个包含 NN 个顶点和 MM 条边的连通无向图。第 ii 条边(1≤i≤M1 \leq i \leq M)连接顶点 UiU_i 和顶点 ViV_i,且为双向边。此外,给定 NN 个整数 D1,D2,…,DND_1, D_2, \ldots, D_N。

请判断是否存在一种方案,可以为该图的每个顶点分配白色或黑色,并为每条边分配一个 11 到 10910^9 之间的整数权值,使得满足以下条件。如果存在,请给出一种满足条件的分配方案。

  • 被分配为白色和黑色的顶点都至少有一个。
  • 对于每个顶点 vv(1≤v≤N1 \leq v \leq N),满足以下条件:
    • 从顶点 vv 出发,经过若干条边,移动到一个与 vv 分配颜色不同的顶点时,所需的最小总代价恰好为 DvD_v。

其中,图上的移动代价指的是经过的所有边的权值之和。

输入格式

输入以如下格式从标准输入读入。

NN MM D1D_1 D2D_2 …\ldots DND_N U1U_1 V1V_1 U2U_2 V2V_2 ⋮\vdots UMU_M VMV_M

输出格式

如果无法分配,输出一行 -1。

如果可以分配,输出一种分配方案,格式如下:

SS
C1C_1
C2C_2
⋮\vdots
CMC_M

其中:

  • 第 11 行的 SS 是一个长度为 NN 的字符串,第 ii 个字符(1≤i≤N1 \leq i \leq N)为 W 表示顶点 ii 分配为白色,为 B 表示分配为黑色。
  • 第 i+1i+1 行(1≤i≤M1 \leq i \leq M)的 CiC_i 表示第 ii 条边分配的权值(输出为整数)。

输入输出样例

  • 输入#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≤100 0002 \leq N \leq 100\,000
  • 1≤M≤200 0001 \leq M \leq 200\,000
  • 1≤Di≤1091 \leq D_i \leq 10^9
  • 1≤Ui,Vi≤N1 \leq U_i, V_i \leq N
  • 给定的图是连通的,不包含自环和重边。
  • 所有输入值均为整数。

样例解释 1

如输出样例所示进行颜色和权值分配时,例如从顶点 55 出发,经过顶点 44 再到顶点 22,可以到达一个与顶点 55 颜色不同的顶点,此时总代价为 77,满足条件。对其他顶点也可以验证满足条件。

由 ChatGPT 4.1 翻译

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

首页