AT_agc064_b.[AGC064B] Red and Blue Spanning Tree

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

有一个包含 NN 个顶点、MM 条边的连通无向图 GG。对于 i=1,2,…,Mi=1,2,\ldots,M,第 ii 条边连接顶点 aia_i 和 bib_i,如果 ci=c_i= R,则该边为红色;如果 ci=c_i= B,则该边为蓝色。

请判断是否存在满足以下条件的 GG 的一棵生成树。如果存在,请给出其中一棵。

  • 对于所有 i=1,2,…,Ni=1,2,\ldots,N,
    • 如果 si=s_i= R,则顶点 ii 至少有一条红色的边作为端点。
    • 如果 si=s_i= B,则顶点 ii 至少有一条蓝色的边作为端点。

输入格式

输入通过标准输入按以下格式给出。

NN MM
a1a_1 b1b_1 c1c_1
⋮\vdots
aMa_M bMb_M cMc_M
s1 s2 … sNs_1\ s_2\ \ldots\ s_N

输出格式

如果不存在满足条件的 GG 的生成树,输出 No。

No

如果存在,输出如下格式:

Yes t1t_1 t2t_2 …\ldots tN−1t_{N-1}

其中 tit_i 表示生成树中第 ii 条边在 GG 中的编号。
如果存在多种满足条件的生成树,输出其中任意一种均可。

输入输出样例

  • 输入#1

    3 3
    1 2 R
    1 3 B
    2 3 B
    RRB

    输出#1

    Yes
    2 1
  • 输入#2

    3 4
    1 2 R
    1 2 B
    1 3 B
    2 3 B
    RRR

    输出#2

    No
  • 输入#3

    8 16
    5 7 B
    2 7 R
    1 6 R
    1 4 R
    6 7 R
    4 6 B
    4 8 R
    2 3 R
    3 5 R
    6 7 B
    2 6 B
    5 6 R
    1 3 B
    4 5 B
    2 7 B
    1 8 B
    BRBRRBRB

    输出#3

    Yes
    1 2 4 9 11 13 16
  • 输入#4

    8 10
    1 7 R
    1 3 B
    2 5 B
    2 8 R
    1 5 R
    3 6 R
    2 6 B
    3 4 B
    2 8 B
    4 6 B
    RRRBBBRB

    输出#4

    No

说明/提示

限制条件

  • 2≤N≤2×1052 \leq N \leq 2 \times 10^5
  • N−1≤M≤2×105N-1 \leq M \leq 2 \times 10^5
  • 1≤ai<bi≤N1 \leq a_i < b_i \leq N
  • cic_i 为 R 或 B
  • 若 i≠ji \neq j,则 (ai,bi,ci)≠(aj,bj,cj)(a_i, b_i, c_i) \neq (a_j, b_j, c_j)
  • 给定的图是连通的
  • sis_i 为 R 或 B
  • N,M,ai,biN, M, a_i, b_i 均为整数

样例解释 1

由 GG 的第 1、2 条边组成的生成树满足条件,具体如下:

  • s1=s_1= R,因此对于 i=1i=1,要求顶点 1 至少有一条红色的边作为端点。第 1 条边满足此条件。
  • s2=s_2= R,因此对于 i=2i=2,要求顶点 2 至少有一条红色的边作为端点。第 1 条边满足此条件。
  • s3=s_3= B,因此对于 i=3i=3,要求顶点 3 至少有一条蓝色的边作为端点。第 2 条边满足此条件。

由 ChatGPT 4.1 翻译

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

首页