만드는 중입니다

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

페탸와 로봇

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

요약
숨겨진 1부터 n까지의 순열을 두 위치씩 교환하고 그때마다 로봇이 알려 주는 역전 쌍 수로 복원합니다.
난이도

보통10점 중 6점

유형
정렬, 이분 탐색, 배열
정답자
아직 제출이 없습니다

문제

페탸의 책장에는 nn권의 공책이 꽂혀 있다. 공책에는 1부터 nn까지 서로 다른 정수 번호가 붙어 있다. 페탸에게는 익숙한 배치가 있는데, 그 배치가 번호 순서와 같지 않을 수 있다. 페탸는 누군가 공책을 옮기는 것을 싫어한다. 페탸가 산 로봇은 공책의 배치를 기억하고, 그 배치의 무질서 수를 계산할 수 있다. 번호가 작은 공책이 번호가 큰 공책보다 오른쪽에 있으면 두 공책을 무질서한 쌍으로 본다. 예를 들어 배치 (2,1,5,3,4)(2, 1, 5, 3, 4)에는 (2,1)(2, 1), (5,3)(5, 3), (5,4)(5, 4)의 세 쌍이 있으므로 무질서 수는 3이다. 방을 정리한 뒤 페탸는 익숙한 배치를 잊어버렸고, 이를 복원하려고 한다. 로봇은 배치를 저장해 두었지만, 저장된 배치의 무질서 수만 알려 줄 수 있다. 페탸는 로봇에게 저장된 배치에서 두 공책의 위치를 서로 바꾸라고 요청할 수 있다. 그러면 로봇은 바뀐 배치를 저장하고, 새 배치의 무질서 수를 알려 준다. 페탸는 익숙한 배치를 복원하기에 정보가 충분하다고 판단할 때까지 요청을 반복할 수 있다. 로봇과 통신하며 익숙한 배치를 복원하는 프로그램을 작성하라.

제한

1⩽n⩽100 0001 \leqslant n \leqslant 100\,000

예제1

  1. 예제 1

    입력
    3 2
    1
    0
    
    예상 출력
    swap 1 3
    swap 3 2
    answer 2 3 1