CF222B.Cosmic Tables

普及-

通过率:0%

时间限制:3.00s

内存限制:256MB

AC君温馨提醒

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

题目描述

The Free Meteor Association (FMA) has got a problem: as meteors are moving, the Universal Cosmic Descriptive Humorous Program (UCDHP) needs to add a special module that would analyze this movement.

UCDHP stores some secret information about meteors as an n × m table with integers in its cells. The order of meteors in the Universe is changing. That's why the main UCDHP module receives the following queries:

  • The query to swap two table rows;
  • The query to swap two table columns;
  • The query to obtain a secret number in a particular table cell.

As the main UCDHP module is critical, writing the functional of working with the table has been commissioned to you.

自由流星协会(FMA)遇到了一个问题:由于流星在运动,通用宇宙描述幽默程序(UCDHP)需要添加一个特殊模块来分析这种运动。

UCDHP 将有关流星的一些秘密信息存储在一个 n×mn \times m 的整数表格中,表格的每个单元格中存放一个整数。宇宙中流星的排列顺序是不断变化的。因此,UCDHP 主模块会接收如下几类查询:

  • 交换表格的两行;
  • 交换表格的两列;
  • 查询某个特定表格单元格中的秘密数字。

由于 UCDHP 主模块至关重要,实现该表格操作功能的任务已交由你来完成。

输入格式

The first line contains three space-separated integers n, m and k (1 ≤ n, m ≤ 1000, 1 ≤ k ≤ 500000) — the number of table columns and rows and the number of queries, correspondingly.

Next n lines contain m space-separated numbers each — the initial state of the table. Each number p in the table is an integer and satisfies the inequality 0 ≤ p ≤ 106.

Next k lines contain queries in the format "s__i x__i y__i", where s__i is one of the characters "с", "r" or "g", and x__i, y__i are two integers.

  • If s__i = "c", then the current query is the query to swap columns with indexes x__i and y__i (1 ≤ x, y ≤ m, x ≠ y);
  • If s__i = "r", then the current query is the query to swap rows with indexes x__i and y__i (1 ≤ x, y ≤ n, x ≠ y);
  • If s__i = "g", then the current query is the query to obtain the number that located in the x__i-th row and in the y__i-th column (1 ≤ x ≤ n, 1 ≤ y ≤ m).

The table rows are considered to be indexed from top to bottom from 1 to n, and the table columns — from left to right from 1 to m.

第一行包含三个以空格分隔的整数 nn、mm 和 kk(1 ≤ n, m ≤ 10001 ≤ n, m ≤ 1000,1 ≤ k ≤ 5000001 ≤ k ≤ 500000),分别表示表格的列数、行数以及查询次数。

接下来的 nn 行,每行包含 mm 个以空格分隔的整数——表示表格的初始状态。表格中的每个数 pp 均为整数,且满足不等式 0 ≤ p ≤ 1060 ≤ p ≤ 10^6。

接下来的 kk 行,每行描述一个查询,格式为 "s__i x__i y__i",其中 s__i 是字符 "c"、"r" 或 "g" 之一,x__i、y__i 为两个整数。

  • 若 s__i = "c",则当前查询表示交换索引为 x__i 和 y__i 的两列(1 ≤ x, y ≤ m1 ≤ x, y ≤ m,且 x ≠ yx ≠ y);
  • 若 s__i = "r",则当前查询表示交换索引为 x__i 和 y__i 的两行(1 ≤ x, y ≤ n1 ≤ x, y ≤ n,且 x ≠ yx ≠ y);
  • 若 s__i = "g",则当前查询表示获取位于第 x__i 行、第 y__i 列的数值(1 ≤ x ≤ n1 ≤ x ≤ n,1 ≤ y ≤ m1 ≤ y ≤ m)。

表格的行从上到下编号为 11 至 nn,列从左到右编号为 11 至 mm。

输出格式

For each query to obtain a number (s__i = "g") print the required number. Print the answers to the queries in the order of the queries in the input.

对于每个查询(要求得到一个数字,且 si="g"s_i = \text{"g"}),输出所需的数字。请按照输入中查询的顺序输出各查询的答案。

输入输出样例

  • 输入#1

    3 3 5
    1 2 3
    4 5 6
    7 8 9
    g 3 2
    r 3 2
    c 2 3
    g 2 2
    g 3 2

    输出#1

    8
    9
    6
  • 输入#2

    2 3 3
    1 2 4
    3 1 5
    c 2 1
    r 1 2
    g 1 3

    输出#2

    5

说明/提示

Let's see how the table changes in the second test case.

After the first operation is fulfilled, the table looks like that:

2 1 4

1 3 5

After the second operation is fulfilled, the table looks like that:

1 3 5

2 1 4

So the answer to the third query (the number located in the first row and in the third column) will be 5.

我们来看看第二个测试用例中表格的变化情况。

执行第一次操作后,表格如下所示:

2 1 4

1 3 5

执行第二次操作后,表格如下所示:

1 3 5

2 1 4

因此,第三个查询(第一行第三列中的数字)的答案为 5。

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

首页