码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 蓝桥杯打卡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];

    1. #include
    2. constexpr int N=8;
    3. int g[N][N];
    4. int tmp[N][N];//用来存储旋转后的数组元素
    5. int main()
    6. {
    7. std::ios::sync_with_stdio(false);
    8. std::cin.tie(nullptr);std::cout.tie(nullptr);
    9. for(int i=0;i<5;i++)
    10. for(int j=0;j<5;j++)
    11. std::cin>>g[i][j];
    12. int op,n;//op代表是往哪个方向进行旋转,n表示旋转的个数
    13. int x,y;
    14. std::cin>>op>>n>>x>>y;
    15. //顺时针
    16. if(op==1){
    17. for(int i=0;i
    18. for(int j=0;j//列号变为行号,(n-行号-+1)变为列号 规律:a[i][j]=b[j][n-i+1];
    19. tmp[j][i]=g[x-1+n-1-i][y-1+j];
    20. }
    21. //逆时针
    22. else if(op==2){
    23. for(int i=0;i
    24. for(int j=0;j//行号变为列号,(n-行号+1)变为行号,规律:a[i][j]=b[n-j+1][i];
    25. tmp[n-1-j][i]=g[x-1+i][y-1+j];
    26. }
    27. for(int i=0;i
    28. for(int j=0;j
    29. g[i+x-1][j+y-1]=tmp[i][j];
    30. for(int i=0;i<5;i++){
    31. for(int j=0;j<5;j++)
    32. std::cout<" ";
    33. std::cout<
    34. }
    35. return 0;
    36. }

    二、矩阵幂IO链接

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

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

    1. #include
    2. constexpr int N=15;
    3. int n,k;
    4. int g[N][N],p[N][N];
    5. int tmp[N][N];
    6. void mul()
    7. {
    8. memset(tmp,0,sizeof tmp);
    9. for(int i=1;i<=n;i++)
    10. for(int j=1;j<=n;j++){
    11. int sum=0;
    12. for(int k=1;k<=n;k++)//矩阵的乘法:第一个矩阵的列需要与第二个矩阵的行相乘
    13. sum+=g[i][k]*p[k][j];
    14. tmp[i][j]=sum;
    15. }
    16. memcpy(g,tmp,sizeof(tmp));
    17. }
    18. int main()
    19. {
    20. std::ios::sync_with_stdio(false);
    21. std::cin.tie(nullptr);std::cout.tie(nullptr);
    22. std::cin>>n>>k;
    23. for(int i=1;i<=n;i++)
    24. for(int j=1;j<=n;j++)
    25. std::cin>>g[i][j];
    26. memcpy(p,g,sizeof(g));
    27. for(int j=1;jmul();
    28. for(int i=1;i<=n;i++){
    29. for(int j=1;j<=n;j++)
    30. std::cout<" ";
    31. std::cout<
    32. }
    33. return 0;
    34. }

  • 相关阅读:
    右值引用, 完美转发, 万能引用, lambda表达式, 包装器 用法
    href=“#“与href=“javascript:void(0)“的区别
    2023-10-06 LeetCode每日一题(买卖股票的最佳时机含手续费)
    OpenCL线程代数库ViennaCL的使用
    Word控件Spire.Doc 【段落处理】教程(八):如何在 C#、VB.NET 中的 Word 中创建多级列表编号
    LeetCode·每日一题·828.统计子串中的唯一字符·数学
    java毕业设计艾灸减肥管理网站Mybatis+系统+数据库+调试部署
    在 Excel 中使用 Python 自动填充公式
    计算机毕业设计django基于python鲜花培育专家系统 (源码+系统+mysql数据库+Lw文档)
    mysql8.0安装教程与配置(最详细)操作简单
  • 原文地址:https://blog.csdn.net/qq_67458830/article/details/132844946
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号