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可能不支持太大的空间

相关推荐
Xの哲學6 小时前
Linux eMMC子系统深度解析:从硬件协议到内核实现
linux·网络·算法·架构·边缘计算
AI柠檬6 小时前
C语言基于MPI并行计算矩阵的乘法
c语言·c++·算法
lin__ying6 小时前
机器学习-聚类
算法·机器学习
小无名呀6 小时前
socket_udp
linux·网络·c++·网络协议·计算机网络·udp
海琴烟Sunshine6 小时前
leetcode 338. 比特位计数 python
python·算法·leetcode
闻缺陷则喜何志丹7 小时前
【贪心 字典序 回文 最长公共前缀】LeetCode3734. 大于目标字符串的最小字典序回文排列|分数未知
c++·算法·力扣·贪心·字典序·回文·最长公共前缀
weixin_514221857 小时前
FDTD代码学习-1
学习·算法·lumerical·fdtd
AI柠檬8 小时前
机器学习:数据集的划分
人工智能·算法·机器学习
_OP_CHEN8 小时前
C++进阶:(四)set系列容器的全面指南
开发语言·c++·stl·set·multiset·关联式容器·setoj题
代码雕刻家8 小时前
1.4.课设实验-数据结构-单链表-文教文化用品品牌2.0
c语言·数据结构