#4815. Who is Saikyo?

0
    ID: 4815 传统题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 1 上传者: 标签>AtCoderabc313BGESP 3级数组枚举(单层循环)哈希

Who is Saikyo?

Who is Saikyo?

题目描述

共有 NN 位编号为 person 11、person 22、…\ldots、person NN 的竞赛程序员。
程序员之间存在一种称为 优越性 的关系。对于任意一对不同的程序员 ((person XX, person YY)),下列两种关系中的恰好一种成立:“person XX 比 person YY 强”或“person YY 比 person XX 强”。
该优越性具有 传递性。换句话说,对于任意三位不同的程序员 ((person XX, person YY, person ZZ)),若成立:

如果 person XX 比 person YY 强 且 person YY 比 person ZZ 强,那么 person XX 比 person ZZ 强。

若对所有除 person XX 自身之外的人 YY,person XX 都比 person YY 强,则称 person XX 为 最强的程序员。(在上述约束下,可以证明恰好存在这样一位程序员。)
你得到了关于他们优越性的 MM 条信息。第 ii 条信息是“person AiA_i 比 person BiB_i 强”。
能否基于这些信息确定 NN 人中谁是最强的程序员?
如果能,输出该人的编号;否则,也就是存在多个可能的最强程序员时,输出 −1-1。

输入格式

输入由标准输入按以下格式给出: NN MM A1A_1 B1B_1 A2A_2 B2B_2 ⋮\vdots AMA_M BMB_M

输出格式

如果能唯一确定最强的程序员,则输出该人的编号;否则,输出 −1-1。

3 2
1 2
2 3
1
3 2
1 3
2 3
-1
6 6
1 6
6 5
6 2
2 3
4 3
4 2
-1

提示

2≤N≤502 \leq N \leq 50 0≤M≤N(N−1)20 \leq M \leq \frac{N(N-1)}{2} 1≤Ai,Bi≤N1 \leq A_i, B_i \leq N Ai≠BiA_i \neq B_i 如果 i≠ji \neq j,则 (Ai,Bi)≠(Aj,Bj)(A_i, B_i) \neq (A_j, B_j)。 存在至少一种方式可以为所有不同的程序员对确定优越性,且该方式与已给信息一致。你有两条信息:“person 11 比 person 22 强”和“person 22 比 person 33 强”。
由传递性,你还可以推断出“person 11 比 person 33 强”,因此 person 11 是最强的程序员。
person 11 和 person 22 都有可能是最强的程序员。由于你不能唯一确定最强者,所以应输出 −1-1。

标签: AtCoder|abc313B

来源

AtCoder|abc313B