[语言月赛 202406] 数组交换

Luogu
IDLGB3991
Time1000ms
Memory512MB
DifficultyP2
2024O2优化数组语言月赛
小 B 有一个 $n$ 行 $m$ 列的数组 $a$,现在它要操作 $q$ 次,每次的内容如下: - $\textbf{1 x y}$,交换第 $x$ 行和第 $y$ 行,若 $x = y$ 则表示不交换。 - $\textbf{2 x y}$,交换第 $x$ 列和第 $y$ 列,若 $x = y$ 则表示不交换。 - $\textbf{3 x y}$,查询当前 $a_{x, y}$ 的值。 对于每个操作 $3$,你需要回答。在所有操作结束后,你还需要输出最终的数组 $a$。你快告诉小 B 这些内容吧! ## Input 第 $1$ 行,输入 $3$ 个整数 $n,m,q$,以空格隔开。 第 $2 \sim n + 1$ 行,每行输入 $m$ 个整数 $a_{i, j}$,没有空格。 第 $n + 2 \sim n + q + 1$ 行,每行输入 $3$ 个整数,以空格隔开,表示一次询问。 ## Output 设操作 $3$ 一共执行了 $w$ 次。 第 $1 \sim w$ 行,每行输出一个整数,表示每次询问的答案。 第 $w + 1 \sim w + n$ 行,每行输出 $m$ 个整数 $a_{i, j}$,没有空格,表示所有操作后的数组 $a$。 [samples] ## Note ### 数据规模与约定 对于 $20\%$ 的数据,$1 \leq n, m, q \le 100$。 对于另外 $20\%$ 的数据,没有操作 $1$。 对于另外 $20\%$ 的数据,没有操作 $2$。 对于另外 $20\%$ 的数据,没有操作 $3$。 对于 $100\%$ 的数据,$1 \leq n, m \leq 10^3$,$1 \leq q \leq 10^5$,$0 \leq a_{i, j} \leq 9$。
Samples
Input #1
5 5 10
01010
10010
01110
00011
00101
1 2 4
2 3 5
3 2 3
1 3 5
2 1 4
3 5 3
1 4 5
2 5 2
2 3 4
1 2 4
Output #1
1
0
10001
11001
01010
10010
10100
API Response (JSON)
{
  "problem": {
    "name": "[语言月赛 202406] 数组交换",
    "description": {
      "content": "小 B 有一个 $n$ 行 $m$ 列的数组 $a$,现在它要操作 $q$ 次,每次的内容如下: - $\\textbf{1 x y}$,交换第 $x$ 行和第 $y$ 行,若 $x = y$ 则表示不交换。 - $\\textbf{2 x y}$,交换第 $x$ 列和第 $y$ 列,若 $x = y$ 则表示不交换。 - $\\textbf{3 x y}$,查询当前 $a_{x, y}$ 的值。 ",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P2"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGB3991"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "小 B 有一个 $n$ 行 $m$ 列的数组 $a$,现在它要操作 $q$ 次,每次的内容如下:\n\n- $\\textbf{1 x y}$,交换第 $x$ 行和第 $y$ 行,若 $x = y$ 则表示不交换。\n- $\\textbf{2 x y}$,交换第 $x$ 列和第 $y$ 列,若 $x = y$ 则表示不交换。\n- $\\textbf{3 x y}$,查询当前 $a_{x, y}$ 的值。\n\n...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments