문제
Bessie는
하지만 Elsie가 이 테이블을 변형시켰다! 그녀는 다음과 같은 세 종류의 연산을 원하는 만큼 수행할 수 있다.
두 개의 행을 교환할 수 있다.
두 개의 열을 교환할 수 있다.
두 개의 값
a 와b 를 선택한 후, 테이블에 등장하는 모든a 를b 로, 모든b 를a 로 동시에 바꿀 수 있다.
Elsie는 항상 연산을 위의 순서대로 수행한다. 즉,
먼저 1번 연산(행 교환) 을 원하는 만큼 수행한 후,
그다음 2번 연산(열 교환) 을 원하는 만큼 수행하고,
마지막으로 3번 연산(값 교환) 을 수행한다.
우리는 Elsie가 1번과 2번 연산을 모두 끝낸 후, 3번 연산을 수행하기 직전의 상태를 복구해야 한다.
가능한 답이 여러 개일 경우, 사전순으로 가장 작은 테이블을 출력해야 한다.
사전순 비교는 위에서 아래로, 왼쪽에서 오른쪽으로 읽을 때 첫 번째로 다른 값이 작은 테이블이 더 앞선다.
입력
첫 번째 줄에는 정수
다음
출력
Elsie가 1번과 2번 연산만 수행한 후의 테이블 중, 사전순으로 가장 작은 상태의 테이블을 출력한다.
항상 해가 존재함이 보장된다.
부분문제
번호 | 점수 | 조건 |
---|---|---|
#1 | 10점 | |
#2 | 20점 | |
#3 | 30점 | |
#4 | 40점 | 추가 제약 조건 없음 |
예제1
1
2
2
예제2
3
3 4 2
5 2 3
6 3 5
42 3
5 3 4
6 4 5
2 3 4
3 4 5
4 5 6
-> (op 1: swap columns 2 and 3)
2 4 3
3 5 4
4 6 5
-> (op 1: swap columns 1 and 2)
4 2 3
5 3 4
6 4 5
-> (op 3: swap values 2 and 3)
4 3 2
5 2 4
6 4 5
-> (op 3: swap values 3 and 4)
3 4 2
5 2 3
6 3 5
예제3
6
8 10 5 6 7 4
12 11 10 4 8 2
5 4 6 7 9 8
10 2 4 8 5 12
6 8 7 9 3 5
4 12 8 5 6 10
75 8 9 10 6
4 2 5 6 7 3
8 6 9 10 11 7
5 3 6 7 8 4
9 7 10 11 12 8
6 4 7 8 9 5