测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A11503. Almost Acyclic Graph

编程题 普及/提高-

题目描述

You are given a [directed graph](https://en.wikipedia.org/wiki/Directed_graph) consisting of $n$ vertices and $m$ edges (each edge is directed, so it can be traversed in only one direction). You are allowed to remove at most one edge from it.

Can you make this graph [acyclic](https://en.wikipedia.org/wiki/Directed_acyclic_graph) by removing at most one edge from it? A directed graph is called acyclic iff it doesn't contain any cycle (a non-empty path that starts and ends in the same vertex).

输入格式

The first line contains two integers $n$ and $m$ ( $2<=n<=500$ , $1<=m<=min(n(n-1),100000)$ ) — the number of vertices and the number of edges, respectively.

Then $m$ lines follow. Each line contains two integers $u$ and $v$ denoting a directed edge going from vertex $u$ to vertex $v$ ( $1<=u,v<=n$ , $u≠v$ ). Each ordered pair $(u,v)$ is listed at most once (there is at most one directed edge from $u$ to $v$ ).

输出格式

If it is possible to make this graph acyclic by removing at most one edge, print YES. Otherwise, print NO.

输入输出样例

输入 #1
3 4
1 2
2 3
3 2
3 1
输出 #1
YES
输入 #2
5 6
1 2
2 3
3 2
3 1
2 1
4 5
输出 #2
NO

说明/提示

In the first example you can remove edge ![](/uploads/acgo/image/c6f2e2b3a0933102_5af280e70d60.jpeg), and the graph becomes acyclic.

In the second example you have to remove at least two edges (for example, ![](/uploads/luogu/CF915D/7480c546ca7ee72615c3ded7d769355b1c864f93_8489bbbb696d.png) and ![](/uploads/acgo/image/c6f2e2b3a0933102_5af280e70d60.jpeg)) in order to make the graph acyclic.
上一题 去做题 下一题