厦门网站建设 孚珀科技百度推广客户端app下载
web/
2025/10/2 7:03:34/
文章来源:
厦门网站建设 孚珀科技,百度推广客户端app下载,网页设计实验报告实验步骤,韩雪冬网站设计算法设计与分析 1.1 Joyvan的矩阵
题目描述 Joyvan有一个大小为n * m的矩阵#xff0c;现在他要对矩阵进行q次操作#xff0c;操作分为如下三种#xff1a;
0 x y#xff1a;交换矩阵的x、y两行。
1 x y#xff1a;交换矩阵的x、y两列。
2 x y#xff1a;求当前矩阵第…算法设计与分析 1.1 Joyvan的矩阵
题目描述 Joyvan有一个大小为n * m的矩阵现在他要对矩阵进行q次操作操作分为如下三种
0 x y交换矩阵的x、y两行。
1 x y交换矩阵的x、y两列。
2 x y求当前矩阵第x行第y列的元素。
输入格式
第一行三个正整数n、m、q表示矩阵大小和操作次数。
接下来n行每行m个空格隔开的整数表示矩阵的元素。
接下来q行每行三个数op、x、y表示上述操作中的一种。
对于80%的数据1 n、m、q 1000。
对于100%的数据1 n、m 1000,1 q 1000000,矩阵元素大小在int范围内且非负。
输出格式
对于操作2输出一个整数表示对应的元素。
样例输入
2 2 6
1 2
3 4
0 1 2
1 1 2
2 1 1
2 1 2
2 2 1
2 2 2样例输出
4
3
2
1提示
输入规模较大请使用scanf/printf。
参考代码
#include iostream
#define swap(a,b) { int ta;ab;bt;}
/*
存储矩阵A
申请行数组R和列数组C初始赋值为123---n(m)交换行x和行y —— swap(R[x],R[y]);
交换列x和列y —— swap(C[x],C[y]);
输出第x行第y列的元素 ——输出A[R[x]][C[y]];*/
int main() {int n,m,q,op,x,y;scanf(%d %d %d, n, m, q);int A[n1][m1],R[n1],C[m1];for(int i1; in; i) {for(int j1; jm; j) {scanf(%d, A[i][j]);C[j]j;}R[i]i;}for(int i0; iq; i) {scanf(%d %d %d, op, x, y);switch(op) {case 0:swap(R[x],R[y]);break;case 1:swap(C[x],C[y]);break;case 2:printf(%d\n, A[R[x]][C[y]]);break;}}
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/85490.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!