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

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

저스티스 리그

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

요약
영웅 관계 그래프를 클리크와 독립 집합으로 나눌 수 있는지 판별한다.
난이도

보통10점 중 6점

유형
그래프, 분할 정복, 재귀, 완전 탐색
정답자
아직 제출이 없습니다

문제

35년 전, 지구를 악당들로부터 지키기 위해 슈퍼히어로들이 모여 저스티스 리그를 결성했다. 오랜 세월 인류를 도운 끝에 기존 멤버들은 은퇴하게 되었고, 이제 새로운 저스티스 리그의 멤버를 뽑을 때가 되었다.

정체를 숨기기 위해 슈퍼히어로들은 자신을 정수 번호로 구분한다. 지구에는 HH명의 슈퍼히어로가 있으며 11번부터 HH번까지 번호가 매겨져 있다. 두 히어로가 과거에 같은 임무를 함께 수행한 적이 있으면, 두 히어로 사이에 친분이 있다고 한다.

세계에는 오직 하나의 저스티스 리그만 존재해야 하며, 리그는 몇 명으로 구성되어도 좋다(단 한 명이어도 된다). 단, 다음 두 조건을 모두 만족해야 한다.

  • 리그에 뽑힌 임의의 두 히어로는 서로 친분이 있어야 한다.
  • 리그에 뽑히지 않은 임의의 두 히어로는 서로 친분이 없어야 한다. (비공식 리그가 만들어지는 것을 막기 위함이다.)

즉, 전체 히어로 집합을 서로 모두 친분이 있는 리그와, 서로 아무런 친분이 없는 나머지로 나눌 수 있는지 판별하는 문제이다.

히어로들과 그들의 친분 관계가 주어질 때, 위 조건을 만족하도록 저스티스 리그를 구성할 수 있는지 판별하여라.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에는 공백으로 구분된 두 정수 HH (2≤H≤5×1042 \le H \le 5 \times 10^4)와 RR (1≤R≤1051 \le R \le 10^5)이 주어지며, 각각 히어로의 수와 친분 관계의 수를 의미한다.

이어지는 RR개의 줄에는 각각 공백으로 구분된 두 정수 AA와 BB (1≤A<B≤H1 \le A < B \le H)가 주어지며, 히어로 AA와 히어로 BB 사이에 친분이 있음을 뜻한다. 친분에는 방향이 없으므로 AA가 BB와 친분이 있으면 BB도 AA와 친분이 있다. 같은 친분 관계가 한 테스트 케이스 안에서 두 번 주어지는 일은 없다.

입력의 끝은 H=R=0H = R = 0인 줄로 표시된다. 입력은 표준 입력으로 주어진다.

출력

각 테스트 케이스마다 한 줄씩 출력한다. 조건을 만족하도록 저스티스 리그를 구성할 수 있으면 대문자 Y를, 그렇지 않으면 대문자 N을 출력한다. 출력은 표준 출력으로 내보낸다.

예제1

  1. 예제 1

    입력
    5 5
    1 2
    2 3
    1 3
    1 4
    3 5
    9 8
    1 2
    2 3
    3 4
    4 5
    5 6
    6 7
    7 8
    8 9
    4 3
    1 2
    2 3
    3 4
    0 0
    
    예상 출력
    Y
    N
    Y