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

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

이상한 그래프

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

요약
이웃 구조에 제약이 있는 연결 그래프에 해밀턴 사이클이 존재하는지 판정합니다.
난이도

어려움10점 중 9점

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

문제

무향 그래프 G=(V,E)G = (V, E)를 생각하자. 정점 vv에 인접한 정점의 집합을 N(v)N(v)로 쓰고, 그 집합의 크기를 vv의 차수 deg⁡(v)\deg(v)라고 한다.

연결 그래프 GG의 모든 정점 vv가 다음 조건을 전부 만족하면 GG를 이상한 그래프라고 부른다.

  1. deg⁡(v)≥2\deg(v) \ge 2이다.
  2. deg⁡(v)=2\deg(v) = 2이면 vv의 두 이웃은 서로 인접하지 않는다.
  3. deg⁡(v)>2\deg(v) > 2이면 다음 두 조건을 모두 만족하는 정점 u∈N(v)u \in N(v)가 존재한다.
    1. deg⁡(u)=2\deg(u) = 2이다.
    2. N(v)∖{u}N(v) \setminus \{u\}에 속하는 서로 다른 두 정점 w1,w2w_1, w_2는 항상 인접하다. 즉 (w1,w2)∈E(w_1, w_2) \in E이다.

해밀턴 회로는 GG의 모든 정점을 정확히 한 번씩 지나는 회로다. 회로이므로 마지막 정점은 첫 정점과 인접하다.

이상한 그래프 GG가 주어진다. GG에 해밀턴 회로가 있는지 판정하라.

입력

첫째 줄에 정점 수 NN과 간선 수 MM이 주어진다 (3≤N≤100003 \le N \le 10000, M≤100000M \le 100000).

이어서 정수 2M2M개가 주어진다. 앞에서부터 두 개씩 묶으면 간선 하나의 두 끝점이다. 정점 번호는 11부터 NN까지다. 수는 공백이나 줄바꿈으로 구분되고, 줄을 나누는 방식은 정해져 있지 않다. 같은 간선은 한 번만 주어지며, 한 간선의 두 끝점은 항상 서로 다르다. GG가 이상한 그래프라는 것은 보장된다.

출력

GG에 해밀턴 회로가 있으면 YES를, 없으면 NO를 출력한다.

예제2

  1. 예제 1

    입력
    4 4
    1 2 2 3 3 4 4 1
    
    예상 출력
    YES
    
  2. 예제 2

    입력
    9 12
    1 2 1 3 2 3 4 5 4 6 5 6 1 7 7 4 2 8 8 5 3 9 9 6
    
    예상 출력
    NO