Swapity Swap

면접 대비

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

요약
1번부터 N번까지 순서대로 선 소들에 두 구간 뒤집기를 K번 반복한 뒤 최종 배치를 출력한다.
난이도

보통10점 중 6점

유형
시뮬레이션, 수학, 배열, 구현
정답자
아직 제출이 없습니다

문제

Farmer John의 소 NN마리(1≤N≤1001\le N\le 100)가 한 줄로 서 있다. 왼쪽에서 ii번째 소의 이름표는 ii이다(1≤i≤N1\le i\le N).

Farmer John이 소들에게 새로운 아침 운동을 시키려고 한다. 그는 소들에게 다음 두 단계 과정을 정확히 KK번(1≤K≤1091\le K\le 10^9) 반복하라고 한다:

  1. 왼쪽에서 A1…A2A_1 \ldots A_2번째 위치에 있는 소들의 순서를 뒤집는다 (1≤A1<A2≤N1\le A_1<A_2\le N).
  2. 그다음, 왼쪽에서 B1…B2B_1 \ldots B_2번째 위치에 있는 소들의 순서를 뒤집는다 (1≤B1<B2≤N1\le B_1<B_2\le N).

소들이 이 과정을 정확히 KK번 반복한 뒤, 각 1≤i≤N1\le i\le N에 대해 왼쪽에서 ii번째 소의 이름표를 출력하시오.

입력

첫째 줄에 NN과 KK가 주어진다. 둘째 줄에 A1A_1과 A2A_2가, 셋째 줄에 B1B_1과 B2B_2가 주어진다.

출력

ii번째 줄에 운동을 마친 뒤 왼쪽에서 ii번째 소의 이름표를 출력한다.

힌트

처음에 소들의 순서는 왼쪽에서 오른쪽으로 [1,2,3,4,5,6,7][1,2,3,4,5,6,7]이다. 과정의 첫 단계를 마치면 순서는 [1,5,4,3,2,6,7][1,5,4,3,2,6,7]이 된다. 과정의 둘째 단계를 마치면 순서는 [1,5,7,6,2,3,4][1,5,7,6,2,3,4]이다. 두 단계를 한 번 더 반복하면 예제의 출력이 나온다.

예제1

  1. 예제 1

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