ccfcsp3402矩阵重塑(其二)

cpp 复制代码
//矩阵重塑(其二)
#include<iostream>
using namespace std;
int main(){
	int n,m,t;
	cin>>n>>m>>t;
	int c[10000][10000];
	int s=0,sum=0;
	int d[10000],k[100000];
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			cin>>c[i][j];
			d[s]=c[i][j];
			s++;
		}
	}
	while(t>0){
		int op,a,b;
		cin>>op>>a>>b;
		if(op==1){//重塑
			s=0;
			for(int i=0;i<a;i++){
				for(int j=0;j<b;j++){
					c[i][j]=d[s];
					s++;
				}
			}	
		}
		
		if(op==2)/*转置 */{
			s=0;
			for(int i=0;i<n;i++){
				for(int j=0;j<m;j++){
					c[j][i]=d[s];
					s++;
				}
			}
			s=0;//转置之后更新,以便重塑 
			for(int i=0;i<m;i++){
				for(int j=0;j<n;j++){
					d[s]=c[i][j];
					s++;
				}
			}
		}
		
		if(op==3) /*//查询 */{
			k[sum]=c[a][b];
			sum++;
		}
		t--;
	}
	for(int i=0;i<sum;i++){
		cout<<k[i]<<endl;
	}
	return 0;
}

**注意,以上代码的各数组大小根据题意改变,DEV可能不支持太大的空间

相关推荐
靠近彗星14 分钟前
2.2顺序表
数据结构
序属秋秋秋15 分钟前
《C++进阶之STL》【哈希表】
数据结构·c++·stl·哈希算法·散列表·哈希表·哈希
一只乔哇噻18 分钟前
java后端工程师进修ing(研一版‖day44)
java·开发语言·学习·算法
青草地溪水旁1 小时前
设计模式(C++)详解——建造者模式(1)
c++·设计模式·建造者模式
·云扬·2 小时前
【Leetcode hot 100】101.对称二叉树
算法·leetcode·职场和发展
自动驾驶小卡5 小时前
boost::circular_buffer的使用方法简介
c++·boost·circular_buffer
Greedy Alg7 小时前
LeetCode 142. 环形链表 II
算法
睡不醒的kun7 小时前
leetcode算法刷题的第三十二天
数据结构·c++·算法·leetcode·职场和发展·贪心算法·动态规划
先做个垃圾出来………8 小时前
残差连接的概念与作用
人工智能·算法·机器学习·语言模型·自然语言处理
乔宕一9 小时前
stm32 链接脚本没有 .gcc_except_table 段也能支持 C++ 异常
c++·stm32·嵌入式硬件