아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

토끼와 상근

시간 제한2초메모리 제한128 MB

요약
각 테스트 케이스의 그래프에서 정점과 간선을 지워 차수가 1인 정점이 정확히 네 개인 연결 부분 그래프를 만들 수 있는지 판단합니다.
난이도

보통10점 중 7점

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

문제

상근이는 사악한 토끼들에게 위협받고 있다. 다행히 젊은 시절 편의점 아르바이트로 큰돈을 모아 둔 덕분에 집에 초고성능 감시 카메라를 설치할 수가 있다. 이 카메라는 영상을 아주 섬세하게 분석해서 점 몇 개와 선 몇 개로 이루어진 그림을 보내 준다. 그런데 이 점과 선만으로는 집에 토끼가 들어왔는지 안전한지 가릴 수가 없어서, 상근이는 마음 놓고 잠을 자지 못한다.

상근이가 아는 사실은 두 가지다. 토끼는 발이 네 개다. 그리고 그 네 발을 잇는 몸통이 있다.

카메라가 잡은 그림에 토끼가 있을 가능성이 있는지 판정하는 프로그램을 상근이를 위해 작성하자.

입력

입력은 여러 테스트 케이스로 이루어진다. 입력이 끝날 때까지 모든 테스트 케이스를 처리한다.

각 테스트 케이스의 첫 줄에는 두 정수 nn과 mm이 공백을 사이에 두고 주어진다. (0≤n≤10 0000 \le n \le 10\,000, 0≤m≤20 0000 \le m \le 20\,000) nn은 그림에 나온 점의 개수이고, mm은 선의 개수이다.

다음 mm개 줄에는 두 정수 xx와 yy가 주어진다. (1≤x,y≤n1 \le x, y \le n) xx번 점과 yy번 점을 직접 잇는 선분이 있다는 뜻이다.

모든 테스트 케이스에서 어떤 두 점도 선분 두 개 이상으로 이어져 있지 않고, 자기 자신과 이어진 점도 없다.

출력

각 테스트 케이스마다 토끼가 있을 가능성이 있으면 YES를, 토끼가 없으면 NO를 한 줄에 출력한다.

그림에서 점과 선을 몇 개 지워서 발이 정확히 네 개인 몸통을 만들 수 있으면 토끼가 있을 가능성이 있다. 지우고 남은 그림은 연결되어 있어야 한다. 그림이 연결되어 있다는 말은 어떤 두 점이든 선 하나 또는 여러 개를 따라 이어져 있다는 뜻이다. 발은 다른 점 정확히 하나와, 선분 딱 하나로만 직접 이어진 점이다.

예제1

  1. 예제 1

    입력
    2 1
    1 2
    5 4
    1 2
    1 3
    1 4
    1 5
    
    예상 출력
    NO
    YES