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

相关推荐
罗湖老棍子7 小时前
【例9.18】合并石子(信息学奥赛一本通- P1274)从暴搜到区间 DP:石子合并的四种写法
算法·动态规划·区间dp·区间动态规划
dgaf7 小时前
【疯狂的往左】用 C 语言播放《下山》
c语言·c++
卷卷的小趴菜学编程7 小时前
项目篇----仿tcmalloc的内存池设计(central cache篇)
c++·tcmalloc·内存池·central cache
2301_810730107 小时前
python第四次作业
数据结构·python·算法
adam_life7 小时前
区间动态# P1880 [NOI1995] 石子合并】
算法
txinyu的博客7 小时前
解析muduo源码之 Channel.h & Channel.cc
c++
坠金7 小时前
递归、递归和回溯的区别
算法
春栀怡铃声7 小时前
认识二叉树~
c语言·数据结构·经验分享·c·编译
恋爱绝缘体17 小时前
Java语言提供了八种基本类型。六种数字类型【函数基数噶】
java·python·算法
仰泳的熊猫7 小时前
题目1434:蓝桥杯历届试题-回文数字
数据结构·c++·算法·蓝桥杯