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

蓝桥杯打卡Day8


文章目录

  • C翻转
  • 矩阵幂

一、C翻转IO链接

本题思路:本题需要找出顺时针旋转和逆时针旋转的规律,然后就可以解决该问题。

矩阵顺时针90°旋转规律:列号变为行号,(n-行号-+1)变为列号 规律:a[i][j]=b[j][n-i+1];

矩阵逆时针90°旋转规律:行号变为列号,(n-行号+1)变为行号,规律:a[i][j]=b[n-j+1][i];

#include <bits/stdc++.h>constexpr int N=8;int g[N][N];
int tmp[N][N];//用来存储旋转后的数组元素int main()
{std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cout.tie(nullptr);for(int i=0;i<5;i++)for(int j=0;j<5;j++)std::cin>>g[i][j];int op,n;//op代表是往哪个方向进行旋转,n表示旋转的个数int x,y;std::cin>>op>>n>>x>>y;//顺时针if(op==1){for(int i=0;i<n;i++)for(int j=0;j<n;j++)//列号变为行号,(n-行号-+1)变为列号 规律:a[i][j]=b[j][n-i+1];tmp[j][i]=g[x-1+n-1-i][y-1+j];}//逆时针else if(op==2){for(int i=0;i<n;i++)for(int j=0;j<n;j++)//行号变为列号,(n-行号+1)变为行号,规律:a[i][j]=b[n-j+1][i];tmp[n-1-j][i]=g[x-1+i][y-1+j];}for(int i=0;i<n;i++)for(int j=0;j<n;j++)g[i+x-1][j+y-1]=tmp[i][j];for(int i=0;i<5;i++){for(int j=0;j<5;j++)std::cout<<g[i][j]<<" ";std::cout<<std::endl;}return 0;
}

二、矩阵幂IO链接

本题思路:本题是矩阵乘法的模板题,矩阵乘法中第一个矩阵的列要等于第二个矩阵的行

一个m∗n的的A矩阵,和一个n∗p的B矩阵相乘,将得到一个m∗p的矩阵C 。

#include <bits/stdc++.h>constexpr int N=15;int n,k;
int g[N][N],p[N][N];
int tmp[N][N];void mul()
{memset(tmp,0,sizeof tmp);for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){int sum=0;for(int k=1;k<=n;k++)//矩阵的乘法:第一个矩阵的列需要与第二个矩阵的行相乘sum+=g[i][k]*p[k][j];tmp[i][j]=sum;}memcpy(g,tmp,sizeof(tmp));
}int main()
{std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cout.tie(nullptr);std::cin>>n>>k;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)std::cin>>g[i][j];memcpy(p,g,sizeof(g));for(int j=1;j<k;j++) mul();for(int i=1;i<=n;i++){for(int j=1;j<=n;j++)std::cout<<g[i][j]<<" ";std::cout<<std::endl;}return 0;
}

http://www.lryc.cn/news/168301.html

相关文章:

  • React 学习笔记目录
  • 一起Talk Android吧(第五百五十一回:如何自定义SplashScreen)
  • PYTHON-模拟练习题目集合
  • UE5学习笔记(1)——从源码开始编译安装UE5
  • DP读书:《openEuler操作系统》(二)操作系统的发展史
  • SQL sever中相关查询
  • Java手写IO流和案例拓展
  • Linux入门教程||Linux 文件与目录管理
  • MyBatis获取参数值的两种方式#{}和${} 以及 获取参数值的各种情况
  • (手撕)数据结构--->堆
  • [运维|数据库] MySQL 中的COLLATE在 PostgreSQL如何表示
  • 【Linux】tar 与 zip 命令
  • VS2015+opencv 3.4.6开发环境
  • [运维|数据库] 将mysql的null.unix_timestamp(now()) * 1000转为PostgreSQL的语法
  • springboot使用filter增加全局traceId,方便日志查找
  • 面经学习三
  • Open3D 点云配准——可视化匹配点对之间的连线
  • io多路复用之poll的详细执行过程
  • 网络安全深入学习第四课——热门框架漏洞(RCE— Log4j2远程代码执行)
  • 大数据Flink(八十一):SQL 时区问题
  • Input子系统 - Kernel驱动程序 - Android
  • MySQL里的查看操作
  • Vim的基础操作
  • 十天学完基础数据结构-第一天(绪论)
  • 神经网络 03(参数初始化)
  • div设置圆角#前端
  • Windows开机密码破解
  • Mobirise for Mac:轻松创建手机网站的手机网站建设软件
  • [npm] npx 介绍与使用说明
  • QT : 仿照QQ 完成弹出登录窗口,并实例化组件