순열과 연산
시간 제한1초메모리 제한1024 MB
1부터 N까지 한 번씩 나오는 순열이 주어졌을 때, 인접한 원소 교환과 구간 변환 연산을 1번 이상 4번 이하로 사용해 모든 원소를 같게 만들 수 있는지 판단합니다.
문제
부터 까지의 정수를 하나씩 원소로 가지는 수열 이 주어진다.
다음 두 가지 연산을 최소 번, 최대 번 사용해서 수열의 모든 원소를 같은 값으로 만들어 보자.
- : 와 의 값을 서로 바꾼다.
- : 인 모든 정수 에 대해 를 다음과 같이 바꾼다.
- 라면 를 로 바꾼다.
- 라면 를 로 바꾼다.
입력
첫째 줄에 수열의 길이 이 주어진다.
둘째 줄에 수열 이 공백으로 구분되어 주어진다.
출력
1번 이상 4번 이하의 연산으로 수열의 모든 원소를 같게 만드는 방법이 있으면, 첫째 줄에 연산의 사용 횟수 을 출력한다. 둘째 줄부터 개의 줄에 걸쳐 사용한 연산을 사용한 순서대로, 문제에서 정한 형식에 맞춰 한 줄에 하나씩 출력한다.
수열의 모든 원소를 같게 만드는 연산이 존재하지 않거나, 1번 이상 4번 이하의 연산으로 같게 만들 수 없는 경우에는 을 출력한다.