关键词查网站,中铁建设集团有限公司是央企吗,专业做蜂蜜的网站,创立个网站专业卖手机题目背景
【题干与《换位#xff08;一#xff09;》基本一致#xff0c;仅增加了“位对换”指令#xff0c;对应输入格式、样例、数据范围也有所不同】
【2025.5.12 数据已加强】
题目描述
小明班上是n行m列的座位排列#xff0c;座位按照行列顺序编号#xff0c;如…题目背景
【题干与《换位一》基本一致仅增加了“位对换”指令对应输入格式、样例、数据范围也有所不同】
【2025.5.12 数据已加强】
题目描述
小明班上是n行m列的座位排列座位按照行列顺序编号如6行7列那么第1行第1列座位号为1号、第1行第7列为7号、第3行第4列为18号如此递推。
现在期中考刚结束要进行全班换座位。班主任刚刚公布了换位指令指令一共z条且只有以下几类
①行对换
②列对换
③位对换。
请你根据换位指令找到换位结束后第x行第y列的原座位号。
输入格式
第1行为三个整数分别为n、m、z以空格隔开整数含义如题所示。
第2至z1行有三个或者五个整数分别为a、b、c或a、b、c、e、f。若a为1则将bc行对换若a为2则将bc列对换若a为3则将b行c列与e行f列的位置对换。
最后1行有两个整数分别为x和y整数含义如题所示。
输出格式
输出1行输出第x行第y列的原座位号。
输入输出样例
输入 #1
5 5 3
1 1 2
2 3 1
3 1 1 1 2
1 2
输出 #1
8
说明/提示
样例解析
5行5列的座位先将12行互换再将31列互换最后把(1,1)和(1,2)互换得出最终(1,2)的原座位号为8。
数据范围
对于100%的数据4999≤n,m≤5000z100000。
参考答案
#include iostream
using namespace std;
int main()
{int n,m,z,x,y;int p[5001],q[5001],a,b,c,e,f;cinnmz;for(int i1;in;i) p[i]i;for(int i1;im;i) q[i]i;int xy[n1][m1];int l0;for(int i1;in;i){for(int j1;jm;j){xy[i][j](i-1)*mj; }}for(int i1;iz;i){cina;if(a1||a2){cinbc;if(a1)swap(p[b],p[c]);else swap(q[b],q[c]);}else{cinbcef;int i1p[b],j1q[c];int i2p[e],j2q[f];swap(xy[i1][j1],xy[i2][j2]);}}cinxy;int rowp[x];int colq[y];coutxy[row][col];return 0;
}