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

相关推荐
jyan_敬言2 分钟前
【C++】string类(二)相关接口介绍及其使用
android·开发语言·c++·青少年编程·visual studio
liulilittle25 分钟前
SNIProxy 轻量级匿名CDN代理架构与实现
开发语言·网络·c++·网关·架构·cdn·通信
张人玉43 分钟前
C# 常量与变量
java·算法·c#
学不动CV了1 小时前
数据结构---链表结构体、指针深入理解(三)
c语言·arm开发·数据结构·stm32·单片机·链表
tan77º1 小时前
【Linux网络编程】Socket - UDP
linux·服务器·网络·c++·udp
weixin_446122461 小时前
LinkedList剖析
算法
GiraKoo2 小时前
【GiraKoo】C++14的新特性
c++
悠悠小茉莉2 小时前
Win11 安装 Visual Studio(保姆教程 - 更新至2025.07)
c++·ide·vscode·python·visualstudio·visual studio
坏柠2 小时前
C++ Qt 基础教程:信号与槽机制详解及 QPushButton 实战
c++·qt
泽02022 小时前
C++之红黑树认识与实现
java·c++·rpc