만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

James의 생일 파티

면접 대비

시간 제한3초메모리 제한1024 MB

요약
친구 관계 그래프에서 연락처 한 쌍이 끊겼을 때 초대받지 못하는 사람이 생기는지 판별합니다. 간선 하나를 지우면 연결이 끊어지는 경우를 찾는 문제입니다.
난이도

보통10점 중 4점

유형
그래프, DFS
정답자
아직 제출이 없습니다

문제

James는 생일 파티에 친구들을 모두 초대할 수 있는지 알아내야 한다. 그가 직접 전부 초대할 필요는 없다. 친구들이 서로에게 초대장을 전달해 준다.

예를 들어 James에게는 Lucy, Sue, Mark 세 친구가 있다. James는 세 사람과 모두 친구이지만 Mark의 전화번호는 모른다. 그래서 James가 Mark를 직접 초대할 수는 없다. 하지만 Sue는 Mark의 번호를 알고 있고 Mark도 Sue의 번호를 알고 있으므로, Sue가 Mark를 파티에 초대할 수 있다.

문제는 다음과 같다. 누군가 다른 사람의 전화번호 하나를 잃어버리면, 모든 사람을 초대하는 것이 불가능해지는가? 위 예시에서 Sue가 Mark의 번호를 잃어버리면(그림의 빨간 화살표가 그 연결이다), 모든 사람을 초대할 수 없다. Sue가 Mark의 번호를 잃어버리면 Mark도 Sue의 번호를 잃어버린다고 가정한다. 친구 두 명 중 누구든 서로 연락이 끊기는 경우에 파티에 초대받지 못하는 사람이 생길 위험이 있는지 판정한다.

입력

입력에는 여러 개의 테스트 케이스가 들어 있다. 각 테스트 케이스의 첫 줄에는 두 정수 pp와 cc가 주어진다. pp는 James가 초대하려는 사람의 수이며 James 본인을 포함하고, cc는 연결의 수이다.

1≤p≤1001 \le p \le 100, 0≤c≤50000 \le c \le 5000

이어지는 cc개의 줄에는 각각 두 정수 aa와 bb가 주어진다(0≤a<p0 \le a < p, 0≤b<p0 \le b < p, a≠ba \neq b). 이는 aa번 친구가 bb번 친구의 전화번호를 가지고 있고, 그 반대도 성립한다는 뜻이다.

입력은 0 0 두 개가 적힌 줄로 끝난다.

출력

각 테스트 케이스마다, 친구 중 어떤 두 사람이 서로의 번호를 잃어버려서 모든 사람을 초대할 수 없게 되는 경우가 있으면 "Yes"를, 없으면 "No"를 출력한다.

예제1

  1. 예제 1

    입력
    2 1
    0 1
    4 4
    0 1
    1 2
    2 3
    3 0
    5 5
    0 1
    1 2
    0 3
    3 4
    3 1
    0 0
    
    예상 출력
    Yes
    No
    Yes