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

题目背景

矩阵(二维)的重塑(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。

提示

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

题解:

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

代码:

cpp 复制代码
#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";
    }
}
相关推荐
地平线开发者16 分钟前
CLIP 的训练机制:从对比学习到图文对齐
深度学习·算法·自动驾驶
路溪非溪17 分钟前
C++标准库之智能指针
linux·开发语言·c++
Lxx_Zw19 分钟前
串口命令如何从字符串长成协议:帧头、长度、校验和与状态机
c语言·stm32·单片机·嵌入式硬件
PaperAccept41 分钟前
【研知有术论文发表】材料科学一区期刊,影响因子30+的纳米科技SCI,审稿严格但有效率
大数据·数据结构·科技·量子计算
hetao17338371 小时前
2026-11-02 hetao1733837 的刷题记录
c++·算法
Geektec1 小时前
IMU 选型完全指南:从硬件参数到算法融合的系统工程视角
算法·imu·陀螺仪·加速度计·元器件选型
CQU_JIAKE1 小时前
11.2【A】
算法
Tairitsu_H1 小时前
[C++高阶数据结构·图论下] 最短路径:为什么“挑最小的”一定正确?
数据结构·c++·图论
Godspeed Zhao2 小时前
从零开始学AI21——决策树
算法·决策树·机器学习
开开心心就好2 小时前
网页图片批量下载工具,输入链接就保存
服务器·算法·leetcode·支持向量机·pdf·ocr·1024程序员节