AT_past202005_i.行列操作

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一个满足以下条件的一个 n×nn \times n 的矩阵 aa。若将该数列上起第 ii 行,左起第 jj 列上的数记为 ai,ja_{i,j},则:

  • 当 1≤i,j≤n1 \le i,j \le n 时,ai,j=n×(i−1)+j−1a_{i,j}=n \times (i-1)+j-1。

输入格式

  • 1 x y:对于所有满足 1≤i≤n1 \le i \le n 的 ii,交换 ax,ia_{x,i} 与 ay,ia_{y,i} 的值。
  • 2 x y:对于所有满足 1≤i≤n1 \le i \le n 的 ii,交换 ai,xa_{i,x} 与 ai,ya_{i,y} 的值。
  • 3:转置矩阵 aa,即对于所有满足 1≤i,j≤n1 \le i,j \le n 的 ii 和 jj,将原来 ai,ja_{i,j} 的值改为 aj,ia_{j,i} 的值。
  • 4 x y:输出当前矩阵中 ax,ya_{x,y} 的值并换行。

请注意,在进行 11 操作和 22 操作时,如果 x=yx=y,则矩阵在操作后无变化。

输出格式

对于形如4 x y形式的操作,输出 ax,ya_{x,y} 的值并换行。请注意, 3232 位整数类型可能不适合。

输入输出样例

  • 输入#1

    2
    19
    4 1 1
    4 1 2
    4 2 1
    4 2 2
    3
    4 1 1
    4 1 2
    4 2 1
    4 2 2
    1 1 2
    4 1 1
    4 1 2
    4 2 1
    4 2 2
    2 2 1
    4 1 1
    4 1 2
    4 2 1
    4 2 2

    输出#1

    0
    1
    2
    3
    0
    2
    1
    3
    1
    3
    0
    2
    3
    1
    2
    0
  • 输入#2

    3
    9
    2 2 3
    3
    1 2 1
    2 3 2
    1 1 3
    3
    4 1 1
    4 2 2
    4 2 3

    输出#2

    1
    6
    8

说明/提示

数据规模与约定

对于全部测试点,数据保证:

  • 1≤n,q≤1051 \le n,q \le 10^5;
  • 1≤x,y≤n1 \le x,y \le n;
  • 保证至少存在一个形如4 x y格式的查询;
  • 输入中的所有数值均为整数。

输入解题思路,AI测评打分。不知道怎么写?

首页