#P15630. [2019 KAIST RUN Spring] Gosu
[2019 KAIST RUN Spring] Gosu
题目描述
Ho 是一种名为 跆搏 的武术的专家。她经营着一所跆搏学校,学校里有 名学生。由于 Ho 年事已高,无法继续教授跆搏,她打算将学校交给她的其中一名学生。为了找到合适的候选人,Ho 让所有 对学生彼此之间进行了一场跆搏对决,并记录了所有结果。在一场跆搏对决中,恰好有一人获胜,另一人落败。Ho 认为,如果一名学生是跆搏的 高手,那么他就足够优秀来继承她的学校。
高手(Gosu) 是一个韩语词汇,意指在游戏、运动、竞技编程等方面非常出色的人。在跆搏中,高手有着不同的含义。
让我们定义从选手 到选手 的一条 获胜路径 为一个包含 个整数的序列 ,其中对于所有 ,学生 都战胜了学生 。我们称 为这条获胜路径的 长度。例如,如果存在一条长度为 1 的获胜路径,我们可以立即知道 战胜了学生 。如果存在一条长度为 2 的获胜路径,那么 可能没有直接战胜 ,但存在某个其他选手 ,使得 战胜了 ,并且 战胜了 。
距离 定义为从 到 的获胜路径的最小长度(如果存在的话)。可能存在 无法找到一条到 的获胜路径的情况。在这种情况下,我们定义 。请注意,路径长度可以为零,因此 始终为 。
Ho 希望她的学生能应对各种类型的对手,因此她定义学生 的 弱点 为 中的最大值。当学生 的弱点值在所有学生的弱点值中是最小的时候,该学生 就是跆搏中的 高手。根据这个定义,可能存在多个高手。
由于 Ho 年事已高,无法判断谁是高手,你的任务是帮助 Ho 找到一个高手以及该高手的弱点值。如果存在多个高手,你可以输出其中任意一个。
输入格式
第一行给出学生人数 。
接下来 行中的第 行,给出一个由字符 , , 组成的字符串 。记 的第 个字符为 。 的给出规则如下:
- 如果 ,则 。
- 如果学生 战胜了学生 ,则 。
- 如果学生 战胜了学生 ,则 。
- ()
- 如果 ,则 或 。 ()
- 如果 ,则 。 ()
- 如果 ,则 。 ()
输出格式
输出两个由空格分隔的整数 和 ,其中学生 是高手, 是学生 的弱点值。
如果存在多个答案,你可以输出其中任意一个。
2
-W
L-
1 1
3
-LW
W-L
LW
2 1
5
-WLLW
L-LLW
WW-LL
WWW-W
LLWL
1 4
提示
翻译由 DeepSeek 完成