변호사들
면접 대비시간 제한1초메모리 제한512 MB
N명의 변호사와 M개의 방향 신뢰 간선이 주어질 때, 모든 변호사가 최소 한 명에게 변호를 받고 서로 변호하는 쌍이 없는지 판별합니다.
문제
명의 변호사가 사기 범죄를 저지른 혐의로 기소되었다. 명의 변호사는 서로를 변호하여 전원 무사히 무죄로 처리되려고 한다.
변호사들은 자신이 신뢰하는 변호사에게만 변호를 받을 수 있다. 이 신뢰관계는 개의 쌍으로 표현된다. 이는 변호사 가 변호사 를 신뢰한다는 뜻이며, 이 경우에만 변호사 가 변호사 를 변호할 수 있다.
각 변호사의 실력은 매우 뛰어나기 때문에, 1명 이상의 변호를 받은 사람은 무조건 무죄가 된다. 단, 두 변호사 , 에 대해 가 를 변호하고 가 를 변호하는 경우는 매우 수상하기 때문에 둘 모두 유죄가 된다.
각 쌍에 대해 변호사 가 변호사 를 변호할지 말지를 선택하여 모든 변호사가 무죄가 되는 것이 가능한지 판정하라.
입력
첫 줄에 과 이 주어진다. ()
두 번째 줄부터 개의 줄에 걸쳐 번째 줄에는 서로 다른 두 정수 , 가 주어진다. 이는 변호사 가 변호사 를 변호할 수 있다는 뜻이다.
같은 순서쌍 가 중복하여 나타나는 경우는 없다.
출력
모든 변호사가 1명 이상의 변호를 받고, 서로를 변호하는 변호사 쌍이 없도록 할 수 있는 경우 첫 줄에 YES를 출력한다.
불가능한 경우 첫 줄에 NO를 출력한다.