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×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.
第一行包含三个以空格分隔的整数 n、m 和 k(1 ≤ n, m ≤ 1000,1 ≤ k ≤ 500000),分别表示表格的列数、行数以及查询次数。
接下来的 n 行,每行包含 m 个以空格分隔的整数——表示表格的初始状态。表格中的每个数 p 均为整数,且满足不等式 0 ≤ p ≤ 106。
接下来的 k 行,每行描述一个查询,格式为 "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 ≤ m,且 x = y);
- 若 s__i = "r",则当前查询表示交换索引为 x__i 和 y__i 的两行(1 ≤ x, y ≤ n,且 x = y);
- 若 s__i = "g",则当前查询表示获取位于第 x__i 行、第 y__i 列的数值(1 ≤ x ≤ n,1 ≤ y ≤ m)。
表格的行从上到下编号为 1 至 n,列从左到右编号为 1 至 m。
输出格式
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"),输出所需的数字。请按照输入中查询的顺序输出各查询的答案。
输入输出样例
输入#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测评打分。不知道怎么写?