CF706E Working routine

题目描述

Vasiliy 终于开始工作了,他面前有大量的任务等待完成。Vasiliy 得到一个由 $n$ 行 $m$ 列组成的矩阵,以及 $q$ 个任务。每个任务都是交换矩阵中两个子矩阵的位置。 对于每个任务,Vasiliy 知道六个整数 $a_{i}$、$b_{i}$、$c_{i}$、$d_{i}$、$h_{i}$、$w_{i}$,其中 $a_{i}$ 表示第一个子矩形左上角所在的行号,$b_{i}$ 表示其所在的列号,$c_{i}$ 表示第二个子矩形左上角的行号,$d_{i}$ 表示其所在的列号,$h_{i}$ 表示子矩形的高,$w_{i}$ 表示其宽。 题目保证每个询问中的两个矩形不会重叠、不会相邻,也就是说,不存在单元格同时属于两个矩形,也不存在分别属于两个不同矩形的单元格相邻(共享边)。但是允许两个矩形的角重合。 Vasiliy 想知道,在完成所有任务后,矩阵最后会变成什么样子。

输入格式

输入的第一行包含三个整数 $n$、$m$ 和 $q$($2 \leq n, m \leq 1000$,$1 \leq q \leq 10000$),分别表示矩阵的行数、列数和任务数量。 接下来的 $n$ 行,每行有 $m$ 个整数 $v_{i,j}$($1 \leq v_{i,j} \leq 10^{9}$),表示矩阵初始的每个单元格的值。 接下来的 $q$ 行每行有六个整数 $a_{i}$、$b_{i}$、$c_{i}$、$d_{i}$、$h_{i}$、$w_{i}$($1 \leq a_{i}, c_{i}, h_{i} \leq n$,$1 \leq b_{i}, d_{i}, w_{i} \leq m$)。

输出格式

输出 $n$ 行,每行包含 $m$ 个整数,表示交换所有任务后最终得到的矩阵。

说明/提示

由 ChatGPT 5 翻译