시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
3 초 | 512 MB | 1016 | 444 | 308 | 43.937% |
찬우는 오늘 프로그래밍 기초 강의에서 2차원 배열에 대해 배웠다. 너무 재미있던 찬우는 2차원 배열에다 연산을 진행하기로 결심했다.
아래와 같은 두 가지 종류의 연산이 쿼리로 주어진다.
0 i j k
: $i$번 행의 $j$번 열의 값을 $k$로 바꾼다.1 i j
: $i$번 행과 $j$번 행을 swap한다.swap 이란 $i$번 행의 모든 원소와 $j$번 행의 모든 원소를 바꾸는 연산이다.
$q$개의 쿼리를 수행한 후 바뀐 배열의 최종 결과를 출력하시오.
첫째 줄에 행의 개수 $N$과 열의 개수 $M$, 쿼리의 개수 $q$가 주어진다. $(1 \le N , M \le 3000, 1 \le q \le 10^6)$
2번째 줄부터 $N$개의 줄에 걸쳐 $N$행 $M$열의 2차원 배열이 입력으로 주어진다. 배열의 각 원소의 값은 $1$ 이상 $10\,000$ 이하의 정수이다.
이후 $q$개 줄에 걸쳐 쿼리가 입력으로 주어진다.
쿼리는 0 i j k
혹은 1 i j
의 형태로 주어지며, 쿼리의 첫 번째 값이 0이면 첫 번째 쿼리를, 1이면 두 번째 쿼리를 수행한다.
첫 번째 쿼리의 경우 $i$, $j$, $k$의 범위는 $(0 \le i \le N-1, 0 \le j \le M-1, 1 \le k \le 10\,000)$이며 $k$는 정수이다.
두 번째 쿼리의 경우 $i$, $j$의 범위는 $(0 \le i, j \le N-1)$이다.
$q$개의 쿼리를 전부 수행한 후의 2차원 배열을 출력한다.
4 3 4 10 3 8 2 10 4 1 8 4 1 4 2 1 2 2 0 1 0 9 1 2 1 1 3 0
1 4 2 1 8 4 9 10 4 10 3 8
University > 경북대학교 > 2022 Goricon B번