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

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

우리 사이의 Ká

면접 대비

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

요약
정점 P개와 간선 F개로 이루어진 무방향 그래프가 주어질 때, 모든 정점이 자기 그룹 안에서 홀수 개의 이웃을 갖도록 정점을 최대 두 그룹으로 나눌 수 있는지 판정한다.
난이도

보통10점 중 6점

유형
그래프, 수학, 구현, 완전 탐색
정답자
아직 제출이 없습니다

문제

동점은 선거나 게임에서 항상 문제가 된다. 최근 Ká entre Nós라는 새로운 게임이 만들어졌다. 이 게임은 소셜 네트워크로 연결된 플레이어들이 겨루는 게임이다. 각 플레이어는 친구 집합을 가진다. 매 라운드마다 여러 번의 투표가 있지만, 경쟁자는 자신의 친구에게서만 표를 받을 수 있다. 가장 많은 표를 받은 플레이어가 이긴다.

게임은 아직 설계 단계지만, 개발자들은 매우 흔한 문제에 부딪혔다. 각 플레이어의 친구 수가 대체로 적기 때문에 동점이 매우 자주 발생하고, 이는 게임의 재미를 떨어뜨린다. 이 문제를 해결하기 위해 개발자들은 게임에 새로운 모듈을 추가하기로 했다. 이 모듈은 각 플레이어의 친구를 정하며, 가능한 한 각 플레이어에게 홀수 명의 친구를 준다.

문제는 그들이 예상한 것보다 복잡해졌고, 이제 그들은 더 단순한 변형을 시도하고 있다. 플레이어 집합이 주어지면, 모듈은 플레이어를 최대 두 그룹으로 분할하여 각 플레이어가 자신이 속한 그룹에서 홀수 명의 친구를 갖도록 해야 한다. 그런데 이것이 항상 가능한 것은 아니다. 당신의 임무는 그런 분할이 가능한지 판단하는 것이다.

입력

첫째 줄에는 두 정수 P와 F가 주어지며, 각각 플레이어 수와 친구 관계 수이고 2 ≤ P ≤ 100, 1 ≤ F ≤ P × (P − 1)/2이다. 다음 F개 줄에는 각각 두 정수 A와 B가 주어지며, A와 B가 친구임을 나타낸다. 여기서 1 ≤ A, B ≤ P이고 A ≠ B이다. 각 친구 관계는 최대 한 번만 주어진다. 즉, 어떤 줄에 정수 A와 B가 있으면 다른 줄에는 그 정수들이 없다.

출력

출력은 한 줄이며, 단일 문자를 포함한다. 두 그룹으로 분할하는 것이 가능하면 대문자 'Y'를, 그렇지 않으면 대문자 'N'을 출력한다.

예제3

  1. 예제 1

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

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

    입력
    5 5
    3 5
    3 1
    1 4
    2 5
    2 4
    
    예상 출력
    N