욱제는 결벽증이야!!
면접 대비시간 제한2초메모리 제한256 MB
1부터 N까지의 순열을 구간 뒤집기만으로 정렬하는 문제로, N*N번 이하의 뒤집기로 카드 i를 i번 위치에 놓아야 한다.
문제
1부터 까지의 정수가 하나씩 적힌 장의 카드를 일렬로 배열한다. 구간 ()을 선택해 그 구간을 통째로 뒤집는 연산을 사용할 수 있다. 가령 배열 에서 를 뒤집으면 가 된다.
왼쪽부터 위치에 번호를 매길 때, 번째 카드에 숫자 가 적힌 배치를 목표 배치라 한다. 연산을 적절히 수행해 목표 배치와 일치하는 카드 수를 최대로 만들어야 한다. 모든 순열은 뒤집기 연산만으로 정렬할 수 있으므로, 최대값은 항상 이다.
입력
첫째 줄에 카드 수 이 주어진다 ().
둘째 줄에 초기 카드 배열 개의 정수가 왼쪽부터 순서대로 주어진다.
출력
첫째 줄에 연산 횟수 를 출력한다. 는 이하이어야 한다.
이후 개의 줄에 걸쳐 수행한 연산 구간 을 순서대로 출력한다. 각 줄에는 과 을 하나의 공백으로 구분해 출력한다. 이 이면 추가로 출력하지 않는다. 모든 연산을 적용한 뒤의 배열이 목표 배치와 일치해야 한다.