AT_arc030_3.[ARC030C] 有向グラフ

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

有一个由 nn 个顶点和 mm 条边组成的有向图。nn 个顶点分别用 11 到 nn 的不同整数编号。每个顶点上都写有一个从 a 到 z 的小写字母。

你可以从图中的任意一个顶点开始,并以任意顺序访问各个顶点,目的是恰好收集 kk 个字母。每个顶点可以被多次访问,如果该顶点上还有字母,可以在任意一次访问时收集该字母,但每个字母只能被收集一次。如果不需要,也可以选择不收集某些字母。

你觉得单纯收集字母太无聊了,所以想让收集到的 kk 个字母按收集顺序排列后,字典序最小。

请输出在满足上述条件下,按收集顺序排列的 kk 个字母的字典序最小的字符串。如果无法收集到恰好 kk 个字母,则输出 -1。

输入格式

输入通过标准输入给出,格式如下:

nn mm kk
c1c_1 c2c_2 … cnc_n
a1a_1 b1b_1
a2a_2 b2b_2
…
ama_m bmb_m

  • 第 11 行包含三个整数,分别表示图的顶点数 n (1≤n≤300)n\ (1\leq n\leq 300)、边数 m (0≤m≤1000)m\ (0\leq m\leq 1000) 和需要收集的字母数 k (1≤k≤n)k\ (1\leq k\leq n)。
  • 第 22 行包含 nn 个小写字母 cic_i,第 ii 个字母表示顶点 ii 上写的字母,字母之间用空格分隔。
  • 第 33 行到第 m+2m+2 行,每行包含两个整数 aia_i 和 bi (1≤ai,bi≤n)b_i\ (1\leq a_i,b_i\leq n),表示第 ii 条有向边从 aia_i 指向 bib_i。
  • 图中不存在自环和重边,但可能存在反向边。图不一定连通。

输出格式

输出一行,表示按字典序最小收集顺序得到的 kk 个字母组成的字符串。如果无法收集到恰好 kk 个字母,则输出 -1。最后请输出换行符。

输入输出样例

  • 输入#1

    4 4 3
    a b b a
    1 2
    2 3
    3 1
    4 3

    输出#1

    aab
  • 输入#2

    5 4 4
    d a b c a
    1 2
    2 3
    3 4
    2 5

    输出#2

    dabc
  • 输入#3

    5 4 3
    d a b c a
    1 2
    2 3
    3 4
    2 5

    输出#3

    abc
  • 输入#4

    3 0 2
    a b c

    输出#4

    -1

说明/提示

样例解释 1

下图展示了该输入输出样例的情况。可以依次经过顶点 4→3→1→24 \to 3 \to 1 \to 2,在顶点 44 收集 a,在顶点 11 收集 a,在顶点 22 收集 b,这样收集到的字母按顺序排列字典序最小。

样例解释 4

三个顶点都是孤立的,无论从哪个顶点开始,都无法恰好收集到 22 个字母。

由 ChatGPT 4.1 翻译

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

首页