当前位置: 首页 > wzjs >正文

成都企业网站建设哪家好手机维修培训班学校

成都企业网站建设哪家好,手机维修培训班学校,杭州网站建设网,微商新零售系统[TOC](CCF CSP 第34次(2024.06)(2_矩阵重塑(其二)_C)) 时间限制: 1.0 秒 空间限制: 512 MiB 原题链接 解题思路: 思路一: 1、解题步骤拆分: ① 数据输入: …

@[TOC](CCF CSP 第34次(2024.06)(2_矩阵重塑(其二)_C++))

时间限制: 1.0 秒
空间限制: 512 MiB
原题链接

请添加图片描述

解题思路:

思路一:

1、解题步骤拆分:
① 数据输入:

  • 第一行 n m t (n 和 m 分别代表矩阵的行和列,t代表t个操作)
  • 接下来n行输入 n*m 的矩阵。
  • 接下来t行输入t个操作 每行有三个整数,op p q 。
         若op为1则重塑矩阵为p*q大小。
         若op为2则矩阵进行转置。
         若op为3则查询p,q位置的元素。

② 数据处理:我们可以定义三个函数来实现重塑、转置和查询(M在不断的改变,所以我们进行函数传参的时候要进行 引用&)

  • 重塑我们可以想到 二维矩阵 -> 一维矩阵 -> 二维矩阵
  • 转置我们可以想到MT[j][i]=M[i][j]
  • 查询直接输出M[i][j]就可以

③ 数据输出:输出查询到的结果

代码实现

代码实现(思路一):
#include<iostream>
#include<vector>
using namespace std;//矩阵重塑成p*q大小
void option1(vector<vector<int>> &M,int p,int q){//定义一个重塑后的矩阵(p*q大小)vector<vector<int>> M2(p,vector<int>(q));//n代表二维数组元素转换为一维数组的对应位置,row和col代表新的二维数组的坐标int n,row,col;for (int i = 0; i < M.size(); i++){for (int j = 0; j < M[0].size(); j++){//二维数组->一维数组->二维数组n=M[0].size()*i+j;row=n/q;col=n%q;M2[row][col]=M[i][j];}}//将重塑后的矩阵赋值给MM=M2;
}//矩阵转置
void option2(vector<vector<int>> &M){vector<vector<int>> M2(M[0].size(),vector<int>(M.size()));for (int i = 0; i < M.size(); i++){for (int j = 0; j < M[0].size(); j++){//注意顺序不要写反了M2[j][i]=M[i][j];}}M=M2;
}//输出M中坐标为p q的元素
int option3(vector<vector<int>> &M,int p,int q){return M[p][q];
}int main(int argc, char const *argv[])
{int n,m,t;cin>>n>>m>>t;vector<vector<int>> M(n,vector<int>(m));//矩阵输入for (int i = 0; i < n; i++){for (int j = 0; j < m; j++){cin>>M[i][j];}}//op 为操作,p q为对应的操作数int op,p,q;//用于存储操作3查询到的结果vector<int> ans;//完成t次操作变化for (int i = 0; i < t; i++){cin>>op>>p>>q;//1操作,矩阵重塑成p*q大小if (op==1){option1(M,p,q);//2操作,矩阵转置}else if(op==2){option2(M);//3操作,输出M中坐标为p q的元素}else{//将答案存储在ans中ans.push_back(option3(M,p,q));}}//输出答案(操作3的查询结果)for (auto i:ans){cout<<i<<endl;}return 0;
}
部分代码解读

二维矩阵 -> 一维矩阵 -> 二维矩阵

for (int i = 0; i < M.size(); i++){for (int j = 0; j < M[0].size(); j++){//二维数组->一维数组->二维数组n=M[0].size()*i+j;row=n/q;col=n%q;M2[row][col]=M[i][j];}}

二维转一维的计算公式为:n = i * col_size + j
一维转二维的计算公式为:

  • i = n / col_size
  • j = n % col_size

列大小为:col_size
行大小为:row_size
二维数组中元素的位置为 [ i , j ]
一维数组的下标为 [ n ]

欢迎大家和我沟通交流(✿◠‿◠)


文章转载自:

http://czDz03CL.krLsz.cn
http://p67BUg41.krLsz.cn
http://4S0fauVd.krLsz.cn
http://x6ho7lc5.krLsz.cn
http://EEjUPxg4.krLsz.cn
http://dEU0MsQS.krLsz.cn
http://3pXPiQJ9.krLsz.cn
http://ooRVjh8W.krLsz.cn
http://ZYJCESdM.krLsz.cn
http://qHkaTsRV.krLsz.cn
http://xDE7PMZW.krLsz.cn
http://TEnGrYrr.krLsz.cn
http://iSuls9Ke.krLsz.cn
http://TY9rKqaZ.krLsz.cn
http://oUpyoGTT.krLsz.cn
http://jEtcLs52.krLsz.cn
http://sPj7XZlN.krLsz.cn
http://7x1vmCy6.krLsz.cn
http://fCv33bqK.krLsz.cn
http://FVYV02sp.krLsz.cn
http://engPKW9f.krLsz.cn
http://NANgkzTn.krLsz.cn
http://KRAQXUws.krLsz.cn
http://kDWcFyfp.krLsz.cn
http://8I5XRwH3.krLsz.cn
http://FTqzuQFW.krLsz.cn
http://QNLbqm0y.krLsz.cn
http://yO8lCwQs.krLsz.cn
http://qhaX9nBc.krLsz.cn
http://PwqKuMle.krLsz.cn
http://www.dtcms.com/wzjs/744957.html

相关文章:

  • 芒市网站建设自己做一个音乐网站怎么做
  • 广东汽车品牌网站建设网页模板版权申请
  • 应聘网站运营建设面试电子商务网站建设详细策划
  • 北海市建设局官方网站网站策划书ppt
  • 西安网站建设招标跨境电商怎么做视频教程
  • 网站建设跟版网wordpress新窗口打开所有外链
  • 网站开发总体流程图公司取名大全最新版的
  • 外国优秀网站wordpress自定义小工具
  • 山西省建设注册中心网站减粘装置设备设计要点
  • 保利建设开发总公司网站企业有域名怎么做网站
  • 山西做网站贵吗网站打开速度多少时间
  • 做图用哪个素材网站海南做网站的技术公司
  • 工商银行门户网站是什么意思广州天河区建设网站公司
  • html 网站建设中模板wordpress站点地址灰显
  • 德州市建设工程质监站网站卡片式网站
  • 阿里云网站校园网络设计
  • 个旧建设局信息公开门户网站旅游电子商务网站建设的流程
  • 江苏省建设厅网站职称评审系统网站开发用什么软件有哪些
  • wordpress博客收录查询网站建设企业网站优化
  • 做印刷品的素材网站国外对企业网站开发的研究
  • 济宁建设局网站首页购物网站建设的选题意义
  • 为什么要用php做网站cms三合一网站源码
  • 高新区做网站程序员接单网站
  • 找建设项目的网站网站高端建设
  • 南京的网站建设公司哪家好高端建筑班
  • 陕西网页制作公司山东网络优化公司排名
  • iis网站服务被禁用住宅小区物业管理系统网站建设
  • 学校资源网站的建设方案网站模板 小说
  • 深圳网站设计|优选灵点网络网站建设需要的专业知识
  • 网站建设方案 安全用二级域名做网站对seo