指针-矩阵变换

任务描述

给定一个矩阵,请编程将其按照以下约定的操作方式变换后输出。

相关知识

参考之前的关卡。

编程要求

根据提示,在右侧编辑器的Begin-End区域内补充代码。

测试说明

输入:第一行三个正整数 n,m 和 q 分别表示矩阵 A 的行数、列数和操作数量;接下来 n 行,每行 m 个数,第 i 行第 j 个数为Ai,j(0≤Ai,j≤105);接下来 q 行,每行输入形式为以下三种之一(输入时以数字 1,2,3 分别代表每种操作): (1)x l r 表示把第 x 行的第 l 到第 r 个数翻转; (2)y l r 表示把第 y 列的第 l 到第 r 个数翻转; (3)x1,y1,x2,y2,x3,y3,将矩阵 A(x1,y1)(x2,y2)(x3,y3)这三个位置上的数按从小到大排序和变换位置。设这三个位置上的数从小到大排序后为a,b,c,a≤b≤c,这个操作完成后,应有 Ax1,y1​=aAx2,y2​=bAx3,y3​=c

其中1≤n,m,q≤103n×m≥31≤x,xi≤n1≤y,yi≤m。保证操作 1 有1≤l≤r≤m, 保证操作 2 有 1≤l≤r≤n,保证操作 3 的三个位置互不相同。

输出:输出 n 行,每行 m 个数表示最终 q 次操作结束后的矩阵。

例如测试集 1 的输入是: 2 2 3 1 2 3 4 1 1 1 2 2 2 1 2 3 1 1 1 2 2 1 程序运行结果为: 2 3 4 1

对一个 2 行 2 列的矩阵 [13​24​]进行 3 步操作。第一步操作将第 1 行的第 1-2 个数翻转,则输入样例变为:[23​14​];第二步操作将第2列第1~2个数翻转,则输入样例变为:[23​41​];第三步操作三个位置上的数为 2,4,3。从小到大排序后为 2,3,4。所以操作之后A1,1​=2, A1,2​=3, A2,1​=4, l, 输出[24​31​]


开始你的任务吧,祝你成功!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
"用300字中文回答:C是计算机科学中的一种编程语言。它是由贝尔实验室的丹尼斯·里奇在20世纪70年代初设计开发的。C语言被广泛应用于操作系统、编译器、数据库和其他高性能软件的开发中。它是一种高级的、通用的编程语言,具有强大的功能和灵活性。 C语言之所以受到广泛的欢迎和应用,是因为它具有简洁、高效的特点。C语言的语法相对简单,易于学习和理解。C语言支持面向对象的编程方法,同时也支持过程式编程。C语言提供了丰富的函数库,可以实现各种功能。 C语言是一种面向过程的编程语言,它将程序设计看作是一系列的操作步骤。C语言支持变量、表达式、循环、条件判断等基本的编程概念。C语言提供了丰富的数据类型,包括整数、浮点数、字符以及指针等。C语言也支持结构和联合等复杂的数据类型。 C语言是一种编译型语言,它通过编译器将源代码转换成机器码,然后在计算机上执行。C语言的编译过程包括预处理、编译、汇编和链接等步骤。C语言的编译器通常会生成高效的机器码,可以充分发挥计算机的性能。 总的来说,C语言是一种强大而灵活的编程语言,被广泛应用于计算机科学和软件工程领域。它不仅适用于系统级开发,也适用于应用级开发。掌握C语言可以使程序员更加高效地开发软件,并提高软件的性能和可靠性。"

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卑微的Coder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值