연구소
시간 제한1초메모리 제한2048 MB
1번 정점에서 도달할 수 있는 정점에 통행증을 두고, 통행증 없이 다닐 때 되돌아올 수 없는 정점으로 갈 수 있는지 판정합니다.
문제
티혼은 입학 시험에 합격해 지금은 한 연구소에서 공부한다. 그런데 그는 캠퍼스 안을 걸어 다니는 것을 두려워한다. 통행증을 어딘가에 두고 와서 영영 잃어버리면 수업에 들어갈 수 없게 될까 봐 걱정이다.
티혼이 다니는 연구소의 캠퍼스는 방향 그래프다. 일부 간선은 통행증을 가지고 있어야만 지날 수 있다.
통행증을 영구히 잃어버리려면, 티혼은 첫 번째 정점에 있는 기숙사에서 출발해 캠퍼스의 간선을 0개 이상 따라 걷는다. 그다음 어떤 정점에 통행증을 두고, 캠퍼스를 계속 걷다가 통행증을 두고 온 정점으로 돌아가지 못하게 되어야 한다.
티혼은 자신의 걱정이 근거 없는 것인지 알고 싶어 한다. 캠퍼스에서 통행증을 영구히 잃어버릴 수 있는지 판단하도록 도와 달라.
입력
첫 번째 줄에 정점의 수 과 간선의 수 이 주어진다 ().
이어지는 개의 줄에는 방향 간선을 나타내는 세 정수 , , 가 주어진다 (; ). 간선 는 에서 로 지나갈 수 있음을 뜻한다. 간선 를 지나는 데 통행증이 필요하면 이고, 그렇지 않으면 이다.
주어진 그래프에는 자기 자신으로 가는 간선(루프)과 같은 두 정점을 잇는 여러 간선이 있을 수 있다.
출력
대소문자를 구분하지 않는 단어 하나를 한 줄에 출력한다. 티혼이 통행증을 영구히 잃어버릴 수 있으면 "Yes", 없으면 "No"를 출력한다.
힌트
첫 번째 예에서 티혼은 먼저 통행증을 가지고 간선 를 지난다. 그다음 정점 에 통행증을 두고 간선 을 지난다. 이후 그는 정점 로 돌아갈 수 없다.