首页 > 其他分享 >CCF认证202406-01 | 矩阵重塑(其一)

CCF认证202406-01 | 矩阵重塑(其一)

时间:2024-11-23 14:04:50浏览次数:9  
标签:输出 01 元素 矩阵 include 202406 重塑 CCF 输入

题目背景

矩阵(二维)的重塑(reshape)操作是指改变矩阵的行数和列数,同时保持矩阵中元素的总数不变。

题目描述

矩阵的重塑操作可以具体定义为以下步骤:

设原矩阵为 M,其维度为 n×m,即有 n 行和 m 列。新矩阵为 M′,其维度为 p×q。重塑操作要满足 n×m=p×q,这保证了元素的总数不变。

  1. 线性化原矩阵:按照行优先的顺序,将原矩阵 M 的元素转换成一个长度为 n×m 的一维数组 A。这意味着你先读取 M 的第 0 行元素,然后是第 1 行,依此类推,直到最后一行。

  2. 填充新矩阵:使用一维数组 A 中的元素按照行优先的顺序填充新矩阵 M′。首先填充 M′ 的第 0 行,直到该行有 q 个元素,然后继续填充第 1 行,直到所有 p 行都被填满。

给定原矩阵中的一个元素的位置 (i,j)(0≤i<n 且 0≤j<m),我们可以找到这个元素在被线性化后的一维数组 A 中的位置kk(0≤k<n×m),然后确定它在新矩阵 M′ 中的位置 (i′,j′)(0≤i′<p 且 0≤j<q)。它们之间满足如下数学关系:i×m+j=k=i′×q+j′

给定 n×m的矩阵 M 和目标形状 p、q,试将M 重塑为 p×q 的矩阵 M′。

输入格式

从标准输入读入数据。

输入共 n+1 行。

输入的第一行包含四个正整数 n、m 和 p、q。

接下来依次输入原矩阵 M 的第 0 到第 n−1行,每行包含 m 个整数,按列下标从 0 到 m−1 的顺序依次给出。

输出格式

输出到标准输出。

输出共 p 行,每行 q 个整数,表示重塑后的矩阵 M′。输出格式与输入相同,即依次输出 M′ 的第 0 行到第 p−1 行;行内按列下标从 0 到 q−1 的顺序输出,且两个整数间仅用一个空格分隔。

样例1输入

2 3 3 2
1 2 3
4 5 6

样例1输出

1 2
3 4
5 6

样例2输入

2 2 1 4
6 6
6 6

样例2输出

6 6 6 6

子任务

全部的测试数据满足:

  • n、m 和 p、q 均为正整数且 n×m=p×q≤104;

  • 输入矩阵中每个元素的绝对值不超过 1000。

提示

评测环境仅提供各语言的标准库,特别地,不提供任何线性代数库(如 numpypytorch 等)。

题解:

        很简单的题,直接读入并按行输出即可。

代码:

 

#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<iomanip>
#include<queue>
#include<stack>
#include<vector>
#include<set>
#include<map>
#include <functional>
using namespace std;
typedef long long int ll;

int m=0,n=0,i,j,p=0,q=0;
int num[10001]={0};

main(){
    cin >> n >> m >> p >> q;
    for(i=0;i<n*m;i++){
        cin >> num[i];
    }
    for(i=0;i<p;i++){
        for(j=0;j<q;j++){
            cout << num[i*q+j] << " ";
        }
        cout << "\n";
    }
}

标签:输出,01,元素,矩阵,include,202406,重塑,CCF,输入
From: https://blog.csdn.net/2301_78848414/article/details/143990894

相关文章

  • Day01
    MarkDown学习标题三级标题字体Hello,World!Hello,World!Hello,World!Hello,World!Hello,World!Hello,World!引用选择狂神说分割线图片超链接[点击跳转到狂神博客](遇见狂神说-博客园)列表ADEFABC表格名字性别生日张三男1997.1.1......
  • 元器件选型与参数01 电阻选型
    目录一、常规电阻的基本参数1、阻值2、精度3、温度系数——PPM4、功率5、贴片封装二、传感器类电阻1、NTC温度检测2、NTC温度保护3、PTC温度传感器原理特点典型应用4、PTC恒温加热原理特点典型应用5、NTC与PTC对比三、电位器1、常用2、参数3、数字电位器......
  • dotnet学习笔记-专题06-过滤器和中间件-01
    1.基本概念在ASP.NETCore中,中间件和过滤器都是处理HTTP请求的重要组件,但它们在应用中的位置、作用范围以及使用方式有所不同。1.1中间件和过滤器的区别1.1.1中间件位置与作用范围:中间件位于ASP.NETCore应用程序请求处理管道的核心位置,它可以处理进入应用程序的每一个HT......
  • 2024年09月CCF-GESP编程能力等级认证Scratch图形化编程一级真题解析
    本文收录于《Scratch等级认证CCF-GESP图形化真题解析》专栏,专栏总目录:点这里,订阅后可阅读专栏内所有文章。一、单选题(每题3分,共30分)第1题据有关资料,山东大学于1972年研制成功DJL-1计算机,并于1973年投入运行,其综合性能居当时全国第三位。DJL-1计算机运算控......
  • 1.11--01:查找最接近的元素
    查找最接近的元素题目传送门思路可以看到数据范围,如果我们两层循环mn,10000*100000,时间复杂度绝对爆炸所以我们就需要用到二分查找什么是二分呢?通俗的讲,就是每次砍半假设我们在10个数据中查找接近7的元素\(13481012394344451\)我们找到中间元素\(8,12\)\((10+1......
  • GB/T 4208-2017 外壳防护等级(IP代码)(3)—特征数字和标志
    写在前面本系列文章主要讲解外壳防护等级GB/T4208标准的相关知识,希望能帮助更多的同学认识和了解GB/T4208标准。若有相关问题,欢迎评论沟通,共同进步。(*^▽^*)外壳防护等级6.第二位特征数字第二位特征数字表示外壳防止由于进水而对设备造成有害影响的防护等级。第二位......
  • GB/T 4208-2017 外壳防护等级(IP代码)(4)—试验要求
    写在前面本系列文章主要讲解外壳防护等级GB/T4208标准的相关知识,希望能帮助更多的同学认识和了解GB/T4208标准。若有相关问题,欢迎评论沟通,共同进步。(*^▽^*)外壳防护等级11.试验一般要求11.1防水防尘试验的环境条件除非有关产品标准另有规定,试验应在GB/T2421.1—2......
  • 【408真题】2014-46
    “接”是针对题目进行必要的分析,比较简略;“化”是对此题型的解题套路总结,并结合历年真题或者典型例题进行运用。涉及到的知识全部来源于王道各科教材(2025版)(408神功练成中……)文章目录一、接:本题分析二、化:套路总结一、接:本题分析2014-46分析【答】1)【标......
  • 【套题】大沥2019年真题——第5题
    05.魔术数组题目描述一个N行N列的二维数组,如果它满足如下的特性,则成为“魔术数组”:1、从二维数组任意选出N个整数。2、选出的N个整数都是在不同的行且在不同的列。3、在满足上述两个条件下,任意选出来的N个整数的总和都是相等的。例如,这是一个4×4的二维数组:......
  • AbMole|Ossirene (AS101)(CAS号106566-58-9;目录号M6189)
    Ossirene(AS101)是一种新的IL-1β转化酶抑制剂,可以降低IL-17水平和抑制Th17细胞功能,同时其氧化还原调节活性能够抑制特定的白细胞整联蛋白(如α4β1和α4β7),以及增强调节性T细胞(Treg)的活性,具有抗炎和抗凋亡活性。 生物活性体外研究:对capase-1处理以Ossirene(AS101),Ossi......