Hdu5671 Matrix 矩阵、行列交换+行列加值

JAVA实验二:利用二维数组(double[])实现一个矩阵类:Matrix的相乘、转置、相加等 题目:利用二维数组(double[])实现一个矩阵类:Matrix。 要求提供以下方法: (1)set(int row, int col, double value):将第row行第col列的元素赋值为value; (2)get(int row,int col):取第row行第col列的元素; (3)width():返回矩阵的列数; (4)height():返回矩阵的行数; (5)Matrix a... 阅读详情

Problem Description
There is a matrix M that has n rows and m columns (1≤n≤1000,1≤m≤1000) .Then we perform q(1≤q≤100,000) operations:
1 x y: Swap row x and row y (1≤x,y≤n) ;
2 x y: Swap column x and column y (1≤x,y≤m) ;
3 x y: Add y to all elements in row x (1≤x≤n,1≤y≤10,000) ;
4 x y: Add y to all elements in column x (1≤x≤m,1≤y≤10,000) ;
Input
There are multiple test cases. The first line of input contains an integer T(1≤T≤20) indicating the number of test cases. For each test case:
The first line contains three integers n , m and q .
The following n lines describe the matrix M. (1≤Mi,j≤10,000) for all (1≤i≤n,1≤j≤m) .
The following q lines contains three integers a(1≤a≤4) , x and y .
Output
For each test case, output the matrix M after all q operations.
Sample Input
  
2 3 4 2 1 2 3 4 2 3 4 5 3 4 5 6 1 1 2 3 1 10 2 2 2 1 10 10 1 1 1 2 2 1 2
Sample Output
  
12 13 14 15 1 2 3 4 3 4 5 6 1 10 10 1
Hint
Recommand to use scanf and printf
Source

对一个矩阵进行行列交换以及加值操作,直接按题所给方式去做必然超时。

但考虑操作都是针对整一行,整一列的,可以考虑用数组去记录操作的行列号,而不是直接移动矩阵元素。

include <iostream>
#include <cstdio>
#include <map>
#include <vector>
#include <queue>
#include <stack>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <string>
using namespace std;
#define INF 0x3f3f3f3f
typedef long long LL;
struct node{
    int s;
    int add;
}row[1005],column[1005];
int a[1005][1005];
int main()
{
    int t,n,m,s,o,x,y;
    scanf("%d",&t);
    while(t--){
        scanf("%d%d%d",&n,&m,&s);
        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++){
                scanf("%d",&a[i][j]);
            }
        }
        for(int i=1;i<=n;i++){
            row[i].add=0;
            row[i].s=i;
        }
        for(int i=1;i<=m;i++){
            column[i].add=0;
            column[i].s=i;
        }
        for(int i=0;i<s;i++){
            scanf("%d%d%d",&o,&x,&y);
            if(o==1){
                swap(row[x],row[y]);
            }else if(o==2){
                swap(column[x],column[y]);
            }else if(o==3){
                row[x].add+=y;
            }else{
                column[x].add+=y;
            }
        }
        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++){
                printf(j==1? "%d":" %d",a[row[i].s][column[j].s]+row[i].add+column[j].add);
            }
            printf("\n");
        }
    }
    return 0;
}


微信小程序、H5微信公众号网页JSAPI:解决报错requestMerchantTransfer:fail:internal error(使用wx.requestMerchantTransfer错误) 如何解决requestMerchantTransfer:fail:internal error,微信小程序wx.requestMerchantTransfer报错,微信公众号H5网页使用jssdk调用wx.requestMerchantTransfer报错,JSAPI调起用户确认收款报错errMsg:“requestMerchantTransfer:fail:internal error“,微信小程序/H5 调起确认收款界面,JSAPI调起用户确认收款,微信公众号(H5),用户发起提现,商家转账给用户,用户 阅读详情

相关推荐

RV1106G3的fastboot调试

本文详细描述了在幸狐的Luckfox Pico Ultra硬件平台上,使用官方SDK进行系统优化和YOLOv5s模型部署的过程。首先,硬件板卡使用幸狐的SDK进行EMMC非Fastboot配置时功能正常,但Fastboot配置编译失败,通过修改设备树中的ramdisk大小解决了编译问题,但运行时仍报错。幸狐提供的Fastboot烧录文件可正常运行,表明硬件支持Fastboot。随后,使用官方SDK版本rv1106_rv1103_240813进行编译和调试,发现EMMC Fastboot启动失败,通过修改U-

fzktongyong的博客 2354

HDU5671Matrix

矩阵处理,记录好每行与列在原来的位置即可 原来的第i行现在在第x[i]行,原来的第i列现在在第y[i]列 xd[i]表示第i行需要增加的值,yd[i]表示第i列需要增加的值 #include #include using namespace std; const int maxn=1005; int n,m,q; int a[maxn][maxn]; int x[maxn],y[m

DeneFractal的博客 369

【TI毫米波雷达】IWR6843AOPEVM-G与DCA1000EVM实战:从硬件连接到数据流解析

本文详细解析了TI毫米波雷达开发套件IWR6843AOPEVM-G与DCA1000EVM的硬件连接、模式配置及数据流处理全流程。针对官方手册中的常见配置错误,提供了避坑指南和实测验证的正确设置方法,包括开关配置、网络参数等关键步骤。通过mmWave Studio软件配置雷达参数,并深入解析数据采集与处理流程,帮助开发者高效实现毫米波雷达应用开发。

weixin_30653023的博客 368

HDU5671-Matrix 区间加减

Problem Description There is a matrix M that has n rows and m columns (1≤n≤1000,1≤m≤1000).Then we perform q(1≤q≤100,000) operations: 1 x y: Swap row x and row y (1≤x,y≤n); 2 x y: Swap

fanesemyk的博客 411

Unity类银河恶魔城学习记录1-10 PlayerWallJump源代码 P37

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考

Homura_的博客 1378

数学建模传染病模型_【数学建模】之传染病模型

点击【拇指笔记】,关注我的公众号。SE模型缺点:没有考虑接触到的人中还有一部分病人,所以所有人并不会全部被感染。建立模型:已感染人数(病人)每个病人每天有效接触(足以使人致病)人数为根据(1)(2)可以建立模型:等式两边同时除以\Delta t由导数定义有同时,取\Delta t = 1天由(1)(5)两式可得最终的模型:Logistic模型缺点:区分已感染者(病人)和未感染者(健康人)...

weixin_39590453的博客 2227

hdu 5671 Matrix(矩阵巧妙处理)

Problem Description There is a matrix M that has n rows and m columns (1≤n≤1000,1≤m≤1000).Then we perform q(1≤q≤100,000) operations:1 x y: Swap row x and row y (1≤x,y≤n);2 x y: Swap column x and colum

HJ 782

国产安路FPGA(二)-TD软件时序约束与硬件调试实战

本文深入探讨了国产安路FPGA开发中TD软件时序约束的实战应用。文章详细解析了SDC文件的核心语法,包括基础时钟、生成时钟及输入输出延迟约束的编写方法,并针对硬件调试中常见的时序问题提供了解决方案。通过一个图像处理流水线的优化案例,阐述了如何结合代码修改与约束设置,实现设计从“能跑”到“跑得稳”的关键提升,是掌握FPGA可靠设计的实用指南。

weixin_29183637的博客 377

C //习题 7.4 写一个函数,使给定的一个3*3的二维整形数组转置,即行列互换。

【代码】C //习题 7.4 写一个函数,使给定的一个3*3的二维整形数组转置,即行列互换。

Made in Code 2万+

Android Camera Sensor HDR详解

本文详细介绍了Android相机传感器(Sensor)中实现高动态范围(HDR)采集的各种技术方式。主要内容包括: Sensor HDR技术分类 帧内HDR(Single-Frame HDR):在同一帧同一像素内完成多增益采集,无运动伪影和帧率损失,包括DAG(双模拟增益)、DCG(双转换增益)等技术 帧间HDR(Multi-Frame HDR):通过多帧曝光实现,如DOL(数字重叠)、Staggered HDR等 混合HDR:结合多种技术的复合方案 详细技术原理 重点解析了DAG和DCG两种主流帧内HDR

DU_YULIN的博客 359

关于cefsharp访问iqiyi.com显示403 Forbidden解决办法(2种方法)

cefsharp不加UserAgent的默认值为 (注意126是当前cefsharp的版本)Edge浏览器的UserAgent 为 (edge的版本是128的)说明根据浏览器的不同,UserAgent可能不太一样。

无线智能模块 可视DIY智能专家 1319

hdu 5671 Matrix(矩阵行列交换)

http://acm.hdu.edu.cn/showproblem.php?pid=5671 1 x y: 交换矩阵MM的第xx行和第yy行(1 \leq x,y \leq n)(1≤x,y≤n); 2 x y: 交换矩阵MM的第xx列和第yy列(1 \leq x,y \leq m)(1≤x,y≤m); 3 x y: 对矩阵MM的第xx行的每一个数加上y(1 \leq x \leq n,1

大太阳 1319

开源大语言模型GLM-5:从架构解析到部署微调全指南

大语言模型(LLM)作为当前人工智能领域的核心技术,通过海量数据预训练获得强大的语言理解和生成能力。其核心原理基于Transformer架构,通过自注意力机制捕捉长距离依赖关系,在通用语言任务上展现出卓越性能。这一技术价值在于为开发者提供了强大的基座模型,能够通过微调快速适配特定领域需求,显著降低AI应用开发门槛。在实际应用场景中,大模型被广泛用于智能对话、代码生成、内容创作等任务。本文以开源项目GLM-5为例,深入探讨其架构特点,并详细介绍了如何使用LoRA技术进行参数高效微调,以及通过量化优化实现模型在

weixin_28683165的博客 350

HDU 5671 Matrix

题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=5671 思路:另开数组记录操作 AC代码: #include #include #include #include #include #include #include #include #include #include #include const int inf = 0

Java识堂,一个有干货的微信公众号 347

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

HDU5671Matrix(矩阵行列交换)

有一个nn行mm列的矩阵(1 \leq n \leq 1000 ,1 \leq m \leq 1000 )(1≤n≤1000,1≤m≤1000),在这个矩阵上进行qq (1 \leq q \leq 100,000)(1≤q≤100,000) 个操作: 1 x y: 交换矩阵MM的第xx行和第yy行(1 \leq x,y \leq n)(1≤x,y≤n); 2 x y: 交换矩阵...

apk6909的博客 162

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

hdoj 5671 Matrix 【思维】

题目链接:hdoj 5671 Matrix 问题描述 有一个n行m列的矩阵(1≤n≤1000,1≤m≤1000),在这个矩阵上进行q (1≤q≤100,000) 个操作: 1 x y: 交换矩阵M的第x行和第y行(1≤x,y≤n); 2 x y: 交换矩阵M的第x列和第y列(1≤x,y≤m); 3 x y: 对矩阵M的第x行的每一个数加上y(1≤x≤n,1≤y≤10,000); 4 x

世界很大 453

HDU 5671 Matrix

Problem Description There is a matrix M that has n rows and m columns (1≤n≤1000,1≤m≤1000).Then we perform q(1≤q≤100,000) operations: 1 x y: Swap row x and row y (1≤x,y≤n); 2 x y: Swap c

Occult 489

hdu 5671 Matrix(矩阵行列式交换)

Matrix Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 1410    Accepted Submission(s): 562 Problem Description There is a matrix 

neversayno_yl的博客 483

【HDU 杭电 5671 Matrix】

MatrixProblem Description There is a matrix M that has n rows and m columns (1≤n≤1000,1≤m≤1000).Then we perform q(1≤q≤100,000) operations:1 x y: Swap row x and row y (1≤x,y≤n);2 x y: Swap column x and

楚江枫 470

HDU-5671 Matrix

Matrix Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 1378 Accepted Submission(s): 545Problem Description There is a matrix M that has

wjhuihuii的博客 259

【HDU】-5671-Matrix(思维,好)

Matrix Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 1398    Accepted Submission(s): 557 Problem Description There is a matrix 

Bear1998的博客 613

hdu 5671 Matrix

对于交换行、交换列的操作,分别记录当前状态下每一行、每一列是原始数组的哪一行、哪一列即可。 对每一行、每一列加一个数的操作,也可以两个数组分别记录。注意当交换行、列的同时,也要交换增量数组。 输出时通过索引找到原矩阵中的值,再加上行、列的增量。 #include #include #include #include #include using namespace st

Diors 433

hdu 5671 Matrix(BC——思维题)

题目链接:acm.hdu.edu.cn/showproblem.php?pid=5671 Matrix Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 891    Accepted Submission(s):

若忆_star 4015
上一篇: Hdu1754 I Hate It 线段树、单点更新+区间最值
下一篇: POJ1182 食物链 并查集
Megumin
博客等级 码龄10年 3粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值