news 2026/1/12 18:12:08

2025年吉林大学计算机考研复试机试真题(附 AC 代码 + 解题思路)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
2025年吉林大学计算机考研复试机试真题(附 AC 代码 + 解题思路)

2025年吉林大学计算机考研复试机试真题

2025年吉林大学计算机考研复试上机真题

历年吉林大学计算机考研复试上机真题

历年吉林大学计算机考研复试机试真题

更多学校题目开源地址:https://gitcode.com/verticallimit1/noobdream

N 诺 DreamJudge 题库:输入 “学校名称” 即可筛选该校历年机试真题,题目均在考纲范围内,按难度自动排序。还可搭配《计算机考研机试攻略》刷题,书中题目可通过题号直接在题库中查找。

旋转矩阵

题目描述

Time Limit: 1000 ms
Memory Limit: 256 mb

不知道为什么,哈特一直对矩阵情有独钟。 从以前的“哈特13的矩阵”、“神奇的矩阵”到现在的“旋转方阵”,Orz. 旋转方阵是一个有n行m列的矩阵,每个矩阵格子里有一个数字。 同样地,旋转方阵有3种操作: 操作1:将方阵顺时针旋转90度 操作2:将方阵沿纵向对称轴翻折 操作3:将方阵逆时针旋转90度 现在将对方阵进行k次操作,输出最后的方阵状态。

输入输出格式
输入描述:

多组输入数据,约20组 每组数据n+2行,第一行有三个整数n、m和k,1<=n<=100,1<=m<=100,1<=100<=k 第2行到n+1行每行有m个数字,表示方阵的初始状态,方阵格子数字大小不超过10000, 第n+2行有k个数字,表示k个操作的编号

输出描述:

每组数据输出一个矩阵,表示最终的方阵状态。

输入输出样例
输入样例#:
2 3 1 1 2 3 4 5 6 1
输出样例#:
4 1 5 2 6 3

代码一

  1. #include <iostream>
  2. using namespace std;
  3. const int N = 110;
  4. int n, m, k;
  5. int a[N][N], b[N][N];
  6. void rotatep_90()
  7. {
  8. for (int i = 1, p = n; i <= n; i ++, p --)
  9. for (int j = 1, q = 1; j <= m; j ++, q ++)
  10. b[q][p] = a[i][j];
  11. for (int i = 1; i <= m; i ++)
  12. for (int j = 1; j <= n; j ++)
  13. a[i][j] = b[i][j];
  14. int tmp = n;
  15. n = m, m = tmp;
  16. }
  17. void rotaten_90()
  18. {
  19. for (int i = 1, p = 1; i <= n; i ++, p ++)
  20. for (int j = 1, q = m; j <= m; j ++, q --)
  21. b[q][p] = a[i][j];
  22. for (int i = 1; i <= m; i ++)
  23. for (int j = 1; j <= n; j ++)
  24. a[i][j] = b[i][j];
  25. int tmp = n;
  26. n = m, m = tmp;
  27. }
  28. void fold()
  29. {
  30. for (int i = 1; i <= n; i ++)
  31. for (int j = 1, p = m; j <= m; j ++, p --)
  32. b[i][p] = a[i][j];
  33. for (int i = 1; i <= n; i ++)
  34. for (int j = 1; j <= m; j ++)
  35. a[i][j] = b[i][j];
  36. }
  37. int main()
  38. {
  39. while (cin >> n >> m >> k)
  40. {
  41. for (int i = 1; i <= n; i ++)
  42. for (int j = 1; j <= m; j ++)
  43. cin >> a[i][j];
  44. while (k --)
  45. {
  46. int t;
  47. cin >> t;
  48. if (t == 1) rotatep_90();
  49. else if (t == 2) fold();
  50. else if (t ==3) rotaten_90();
  51. }
  52. for (int i = 1; i <= n; i ++)
  53. {
  54. for (int j = 1; j <= m; j ++)
  55. cout << a[i][j] << " ";
  56. cout << endl;
  57. }
  58. }
  59. return 0;
  60. }

代码二

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int a[105][105]={0};
  4. int b[105][105]={0};
  5. void op1(int a[105][105],int &n,int &m){
  6. for(int i=1;i<=n;i++){
  7. for(int j=1;j<=m;j++){
  8. b[j][n-i+1]=a[i][j];
  9. }
  10. }
  11. int tmp=0;
  12. tmp=n;
  13. n=m;
  14. m=tmp;
  15. for(int i=1;i<=n;i++){
  16. for(int j=1;j<=m;j++){
  17. a[i][j]=b[i][j] ;
  18. }
  19. }
  20. return;
  21. }
  22. void op2(int a[105][105],int &n,int &m){
  23. for(int i=1;i<=n;i++){
  24. for(int j=1;j<=m;j++){
  25. b[i][m-j+1]=a[i][j];
  26. }
  27. }
  28. for(int i=1;i<=n;i++){
  29. for(int j=1;j<=m;j++){
  30. a[i][j]=b[i][j] ;
  31. }
  32. }
  33. return;
  34. }
  35. void op3(int a[105][105],int &n,int &m){
  36. for(int i=1;i<=n;i++){
  37. for(int j=1;j<=m;j++){
  38. b[m-j+1][i]=a[i][j];
  39. }
  40. }
  41. int tmp=0;
  42. tmp=n;
  43. n=m;
  44. m=tmp;
  45. for(int i=1;i<=n;i++){
  46. for(int j=1;j<=m;j++){
  47. a[i][j]=b[i][j];
  48. }
  49. }
  50. return;
  51. }
  52. int main(){
  53. int n,m,k,op;
  54. while(cin>>n>>m>>k){
  55. memset(a,0,sizeof(a));
  56. int ops[105]={0};
  57. for(int i=1;i<=n;i++){
  58. for(int j=1;j<=m;j++){
  59. cin>>a[i][j];
  60. }
  61. }
  62. int cnt=0;
  63. while(k--){
  64. cin>>op;
  65. ops[cnt++]=op;
  66. }
  67. for(int i=0;i<cnt;i++){
  68. if(ops[i]==1){
  69. op1(a,n,m);
  70. }
  71. if(ops[i]==2){
  72. op2(a,n,m);
  73. }
  74. if(ops[i]==3){
  75. op3(a,n,m);
  76. }
  77. }
  78. for(int i=1;i<=n;i++){
  79. for(int j=1;j<=m;j++){
  80. if(j!=m) cout<<a[i][j]<<" ";
  81. else cout<<a[i][j]<<endl;
  82. }
  83. }
  84. }
  85. return 0;
  86. }

代码三

  1. #include<iostream>
  2. #include<vector>
  3. #include<algorithm>
  4. #include<deque>
  5. using namespace std;
  6. int maxi=0;
  7. int x,y;
  8. vector<vector<int>> op1(vector<vector<int>> mp)
  9. {
  10. auto mp2 = mp;
  11. for(int i=0;i<x;i++)
  12. {
  13. for(int j=0;j<y;j++)
  14. {
  15. mp[j][x-i-1] = mp2[i][j];
  16. }
  17. }
  18. int temp = x;
  19. x = y;
  20. y = temp;
  21. return mp;
  22. }
  23. vector<vector<int>> op2(vector<vector<int>> mp)
  24. {
  25. auto mp2 = mp;
  26. for(int i=0;i<x;i++)
  27. {
  28. for(int j=0;j<y;j++)
  29. {
  30. mp[i][j] = mp2[i][y-1-j];
  31. }
  32. }
  33. return mp;
  34. }
  35. vector<vector<int>> op3(vector<vector<int>> mp)
  36. {
  37. auto mp2 = mp;
  38. for(int i=0;i<x;i++)
  39. {
  40. for(int j=0;j<y;j++)
  41. {
  42. //mp[j][y-i-1] = mp2[i][j];
  43. mp[y-j-1][i] = mp2[i][j];
  44. }
  45. }
  46. int temp = x;
  47. x = y;
  48. y = temp;
  49. return mp;
  50. }
  51. int main()
  52. {
  53. int n,m,k;
  54. while(cin>>n>>m>>k)
  55. {
  56. int maxi = n>m?n:m;
  57. x=n;
  58. y=m;
  59. vector<vector<int>>mp(maxi,vector<int>(maxi));
  60. for(int i=0;i<n;i++)
  61. {
  62. for(int j=0;j<m;j++)
  63. {
  64. cin>>mp[i][j];
  65. }
  66. }
  67. for(int i=0;i<k;i++)
  68. {
  69. int op;
  70. cin>>op;
  71. if(op==1)
  72. {
  73. mp = op1(mp);
  74. }
  75. if(op==2)
  76. {
  77. mp = op2(mp);
  78. }if(op==3)
  79. {
  80. mp = op3(mp);
  81. }
  82. }
  83. for(int i=0;i<x;i++)
  84. {
  85. for(int j=0;j<y;j++)
  86. {
  87. cout<<mp[i][j]<<" ";
  88. }
  89. cout<<endl;
  90. }
  91. }
  92. }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/2 11:39:18

视频融合平台EasyCVR赋能旅游景区构建全场景可视化监控新体系

EasyCVR视频融合平台凭借其多协议兼容、全终端适配、智能化分析等核心优势&#xff0c;为旅游景区打造了一套全场景、一体化的视频监控解决方案&#xff0c;助力景区实现“安全可控、服务提质、运营高效”的数字化目标。一、 旅游景区管理面临的核心痛点设备与协议碎片化&#…

作者头像 李华
网站建设 2026/1/6 3:54:18

从源码编译到推理验证:Open-AutoGLM安装全过程详解

第一章&#xff1a;Open-AutoGLM推理引擎框架概述Open-AutoGLM 是一个面向通用语言模型自动推理任务的高性能开源引擎框架&#xff0c;专为支持复杂逻辑推理、多跳问答与程序生成等高级自然语言处理场景而设计。该框架融合了符号推理与神经网络推断的优势&#xff0c;通过模块化…

作者头像 李华
网站建设 2026/1/5 21:58:12

挖矿木马到底是什么?我猜你对此还一无所知

挖矿木马主要就是通过利用各种手段&#xff0c;将挖矿程序植入到用户的计算机中&#xff0c;在用户不知情的情况下&#xff0c;偷偷利用用户的计算机进行执行挖矿功能&#xff0c;从而获取收益。 以下情况是用户中木马的高频事件&#xff1a; 1.用户往往在不注意的时候&#…

作者头像 李华
网站建设 2026/1/7 19:18:23

国外论文参考文献怎么找:实用查找方法与资源推荐

生成式人工智能的浪潮正引发各领域的颠覆性变革&#xff0c;在学术研究这一知识生产的前沿阵地&#xff0c;其影响尤为显著。文献检索作为科研工作的基石&#xff0c;在AI技术的赋能下各大学术数据库已实现智能化升级。小编特别策划"AI科研导航"系列专题&#xff0c;…

作者头像 李华
网站建设 2026/1/3 17:12:06

Ring-1T开放下载:万亿参数AI模型解锁深度推理能力

近日&#xff0c;人工智能领域再添重磅突破——万亿参数规模的深度思考模型Ring-1T正式开放下载。这款由Bailing团队开发的开源大语言模型&#xff0c;凭借其在数学竞赛、代码生成和逻辑推理等复杂任务上的卓越表现&#xff0c;有望为科研机构和开发者社区提供强大的AI推理工具…

作者头像 李华