만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

Nothing Everything

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

요약
각 정점을 고립시키거나 앞선 모든 정점과 연결하는 방식으로 그래프를 만들 수 있는지 판단하고, 가능하면 연산 순서를 출력합니다.
난이도

보통10점 중 5점

유형
그래프, 그리디, 구현
정답자
아직 제출이 없습니다

문제

정점이 NN개이고 간선이 MM개인 무방향 그래프 GG가 주어진다. 처음에 그래프에는 11번 정점만 있다. 다음 두 연산을 N−1N - 1번 사용해 그래프 GG를 만들 수 있는지 판별하고, 만들 수 있다면 연산 순서를 출력하라.

  • ii번째 연산이 Nothing이라면, i+1i+1번 정점을 추가한다. 이때 i+1i+1번 정점에는 간선을 잇지 않는다.
  • ii번째 연산이 Everything이라면, i+1i+1번 정점을 추가한다. 이때 i+1i+1번 정점을 11번부터 ii번까지 모든 정점과 간선으로 잇는다.

입력

첫 번째 줄에 NN과 MM이 공백으로 구분되어 주어진다.

두 번째 줄부터 MM개의 줄에 걸쳐 간선 정보가 주어진다. ii번째 줄에는 aia_i와 bib_i가 공백으로 구분되어 주어지며, 이는 그래프 GG에 aia_i번 정점과 bib_i번 정점을 잇는 간선이 있다는 뜻이다. 그래프 GG에 중복된 간선은 없다.

출력

두 연산으로 그래프 GG를 만들 수 있다면 첫 번째 줄에 길이가 N−1N - 1이고 N과 E로만 이루어진 문자열을 출력한다. jj번째 문자가 N이면 jj번째 연산은 Nothing이고, E이면 Everything이다. 가능한 연산 순서가 여러 개라면 그중 아무거나 하나를 출력한다.

만들 수 없다면 -1을 출력한다.

제한

  • 2≤N≤100 0002 \le N \le 100\,000
  • 0≤M≤min⁡(N(N−1)2,100 000)0 \le M \le \min \left( \frac{N(N-1)}{2}, 100\,000 \right)
  • 1≤ai,bi≤N1 \le a_i, b_i \le N
  • ai≠bia_i \ne b_i

예제3

  1. 예제 1

    입력
    2 0
    
    예상 출력
    N
    
  2. 예제 2

    입력
    3 3
    2 1
    3 2
    1 3
    
    예상 출력
    EE
    
  3. 예제 3

    입력
    4 2
    1 2
    3 4
    
    예상 출력
    -1