当前位置: 首页 > news >正文

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. }
http://www.jsqmd.com/news/134443/

相关文章:

  • 【2026版】最新蓝队护网应急响应流程,零基础入门到精通,收藏这篇就够了
  • MiniCPM-o 2.6:手机上的GPT-4o级全能AI模型
  • 普源DS1000Z系列FFT频谱分析实战教程
  • Open-AutoGLM电脑版突然下架,开发者如何在48小时内完成平滑迁移?
  • 反射3-反射获取构造方法
  • 【黑客入门】每日一个网安小技巧:中间人攻击这么玩
  • 爆肝整理:Elastic Agent Builder全攻略,让你的AI从“人工智障“升级为“决策大神“!
  • Docker 新手小白保姆级教程:从安装到基础操作全搞定
  • Qwen3-0.6B-FP8:0.6B参数模型的双模推理革命
  • 毕业/期刊/职称论文必备!9款AI论文工具一键极速生成论文!
  • 网络安全遇 “零日漏洞” 不用慌?光速应对技巧全解析,从零到精通收藏这篇就够!
  • IBM发布Granite-4.0-Micro-Base:12种语言AI模型新选择
  • oracle rac安装,到最后执行root.sh失败?
  • 计算IP地址聚合后可用地址数
  • 基于python框架的电影订票系统_wqc3k--论文_pycharm django vue flask
  • 从零读懂Open-AutoGLM源码,掌握自动图学习模型开发秘技
  • LightOnOCR-1B:超高效OCR神器,每页成本不到0.01美元
  • Open-AutoGLM爆火在即:3大信号表明它将成为下一个ChatGPT级现象
  • 2、MyISAM索引与InnoDB索引的区别?
  • LLM工程技能:检索增强生成 RAG 入门
  • 再见,我的本地环境:我用这套新工作流,把上线时间从1天缩短到3分钟
  • Pony V7:多功能角色生成模型重磅发布
  • 基于python的个性化商城图书购物推荐系统_1k4p4_pycharm django vue flask
  • AI“博学多才“却“一问三不知“?RAG技术让它秒变“业务专家“!小白程序员也能轻松上手的企业AI解决方案!
  • 【智普Open-AutoGLM部署避坑手册】:90%新手都会忽略的4个核心细节
  • 如何用Open-AutoGLM构建企业级图神经网络?一线专家源码实操分享
  • 001.AI生成一个网站原型
  • 天谋科技时序数据库再次通过中国信通院「可信数据库」专项评测
  • 北京颐美康科技有限责任公司实力怎么样?口碑好不好? - 工业品牌热点
  • 2025年六自由度实力厂商排行榜,六自由度生产商、专业供应商新测评推荐 - 工业品牌热点