무향 그래프 G=(V,E)를 생각하자. 정점 v에 인접한 정점의 집합을 N(v)로 쓰고, 그 집합의 크기를 v의 차수 deg(v)라고 한다.
연결 그래프 G의 모든 정점 v가 다음 조건을 전부 만족하면 G를 이상한 그래프라고 부른다.
해밀턴 회로는 G의 모든 정점을 정확히 한 번씩 지나는 회로다. 회로이므로 마지막 정점은 첫 정점과 인접하다.
이상한 그래프 G가 주어진다. G에 해밀턴 회로가 있는지 판정하라.
첫째 줄에 정점 수 N과 간선 수 M이 주어진다 (3≤N≤10000, M≤100000).
이어서 정수 2M개가 주어진다. 앞에서부터 두 개씩 묶으면 간선 하나의 두 끝점이다. 정점 번호는 1부터 N까지다. 수는 공백이나 줄바꿈으로 구분되고, 줄을 나누는 방식은 정해져 있지 않다. 같은 간선은 한 번만 주어지며, 한 간선의 두 끝점은 항상 서로 다르다. G가 이상한 그래프라는 것은 보장된다.
G에 해밀턴 회로가 있으면 YES를, 없으면 NO를 출력한다.