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

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

Dance Mooves

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

요약
K개의 위치 교환이 무한히 반복될 때 각 소가 언젠가 차지하게 되는 서로 다른 위치의 개수를 구한다.
난이도

어려움10점 중 8점

유형
그래프, 시뮬레이션, 해시맵, 구현
정답자
아직 제출이 없습니다

문제

Farmer John의 소들이 새로 익힌 춤 동작을 뽐내고 있다!

처음에 NN마리의 소(2≤N≤1052\le N\le 10^5)가 한 줄로 서 있고, 소 ii는 줄의 ii번째 위치에 있다. 춤 동작의 순서는 KK(1≤K≤2⋅1051\le K\le 2\cdot 10^5)개의 위치 쌍 (a1,b1),(a2,b2),…,(aK,bK)(a_1,b_1), (a_2,b_2), \ldots, (a_{K},b_{K})로 주어진다. 춤의 각 분 i=1…Ki = 1 \ldots K에 줄의 위치 aia_i와 bib_i에 있는 소가 자리를 바꾼다. 같은 KK번의 교환이 분 K+1…2KK+1 \ldots 2K에 다시 일어나고, 분 2K+1…3K2K+1 \ldots 3K에도 다시 일어나는 식으로 무한히 순환하며 계속된다. 다시 말해,

  • 분 11에는 위치 a1a_1과 b1b_1에 있는 소가 자리를 바꾼다.
  • 분 22에는 위치 a2a_2와 b2b_2에 있는 소가 자리를 바꾼다.
  • ...
  • 분 KK에는 위치 aKa_{K}와 bKb_{K}에 있는 소가 자리를 바꾼다.
  • 분 K+1K+1에는 위치 a1a_{1}과 b1b_{1}에 있는 소가 자리를 바꾼다.
  • 분 K+2K+2에는 위치 a2a_{2}와 b2b_{2}에 있는 소가 자리를 바꾼다.
  • 이런 식으로 계속된다.

각 소마다 그 소가 앞으로 차지하게 될 줄에서의 서로 다른 위치의 개수를 구하라.

입력

첫째 줄에 정수 NN과 KK가 주어진다. 다음 KK개의 줄에는 (a1,b1)…(aK,bK)(a_1,b_1) \ldots (a_K, b_K)가 주어진다(1≤ai<bi≤N1\le a_i<b_i\le N).

출력

NN개의 줄을 출력한다. ii번째 줄에는 소 ii가 도달하는 서로 다른 위치의 개수를 출력한다.

예제1

  1. 예제 1

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