#ABC313B. 谁是最强

谁是最强

谁是最强

题目描述

NN 名竞技程序员,分别称为第 11 人、第 22 人、\dots、第 NN 人。 程序员之间存在一种名为「强弱」的关系,对于任意一对不同的人 ((XX 人、第 YY)),「第 XX 人比第 YY 人强」与「第 YY 人比第 XX 人强」两者中恰好有一方成立。 「强弱」关系满足传递律。换言之,对于任意三个不同的人 ((XX 人、第 YY 人、第 ZZ)),以下条件成立:

如果第 XX 人比第 YY 人强,且第 YY 人比第 ZZ 人强,则第 XX 人比第 ZZ 人强。

当第 XX 人比除自己以外的任何第 YY 人都强时,称第 XX 人为最强程序员。(在上述约束下,可以证明这样的人恰好存在 1 人。) 你已知 MM 条关于强弱关系的信息,其中第 ii 条信息是「第 AiA_i 人比第 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

已知「第 11 人比第 22 人强」和「第 22 人比第 33 人强」两条信息。 由传递律还可以推出「第 11 人比第 33 人强」,因此第 11 人是最强程序员。

3 2
1 3
2 3
-1

11 人和第 22 人都可能是最强程序员。由于无法唯一确定谁是最强,应输出 1-1

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

数据范围

  • 2N502 \le N \le 50
  • 0MN(N1)20 \le M \le \frac{N(N-1)}{2}
  • 1Ai,BiN1 \le A_i, B_i \le N
  • AiBiA_i \neq B_i
  • iji \neq j,则 (Ai,Bi)(Aj,Bj)(A_i, B_i) \neq (A_j, B_j)
  • 存在至少一种对所有不同的两人对分配强弱关系的方法,使得所有信息都成立
难度 普及-
通过率
尝试 0
已通过 0
ID
3022
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签