第九届蓝桥杯大赛软件类国赛

文章目录

  • 第九届蓝桥杯大赛软件类国赛
    • 国赛C++ A组
      • 三角形面积
      • 阅兵方阵
      • 找假币
      • 约瑟夫环 — important
      • 自描述序列 — todo
      • 采油 — todo
    • 国赛C++ B组
      • 换零钞
      • 激光样式
      • 格雷码
      • 调手表
      • 搭积木 — important
      • 矩阵求和 — important

第九届蓝桥杯大赛软件类国赛

这些题官 还没有解答的,我主要参考了b站UP主大雪菜的解法(绝大部分题先自己做了一遍),当然也 上查了一些解答,但发现现在 上的一些解法并不正确,希望可以给大家一个参考。

具体题目官 可以下载。

我的代码应该避免不了错误(填空题还是可以保证的 o_o …),如果有任何问题,欢迎大家评论指正。

国赛C++ A组

三角形面积

已知三角形三个顶点在直角坐标系下的坐标分别为:
(2.3, 2.5)
(6.4, 3.1)
(5.1, 7.2)

求该三角形的面积。

注意,要提交的是一个小数形式表示的浮点数。
要求精确到小数后3位,如不足3位,需要补零。

思路
有很多方法:

海伦公式:

余弦定理求出一个角,然后面积即为底*高/2

二维向量叉乘公式a(x1,y1),b(x2,y2),则a×b=(x1y2-x2y1),面积即为两边组成的向量叉乘/2

我挑一个初中就学了的公式吧(其实我只记得这个,数学老师原谅我 /_ ),结果是8.795

阅兵方阵

x国要参加同盟阅兵活动。
主办方要求每个加盟国派出的士兵恰好能组成 2 个方阵。
x国发现弱小的 y国派出了130人的队伍,他们的士兵在行进中可以变换2种队形:
130 = 81 + 49 = 9^2 + 7^2
130 = 121 + 9 = 11^2 + 3^2

x国君很受刺激,觉得x国面积是y国的6倍,理应变出更多队形。
于是他发 施令:
我们要派出一支队伍,在行进中要变出 12 种队形!!!

手下人可惨了,要忙着计算至少多少人才能组成 12 种不同的双方阵。
请你利用计算机的优势来计算一下,至少需要多少士兵。

(ps: 不要失去信心,1105人就能组成4种队形了)

注意,需要提交的是一个整数,表示至少需要士兵数目,不要填写任何多余的内容。

思路
这个题比较简单,答案是160225,我先想到的是这种:

也可以用这种方法:

找假币

在8枚硬币中,有1枚假币,假币外观与真币一模一样,只是重量略轻或略重一点。
给你一架天平,要求最多称3次,就找出假币,并且知道它是重一些还是轻一些。
下面的代码给出一个解决方案,仔细分析逻辑,填写划线位置缺少的代码。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月8日
下一篇 2020年1月8日

相关推荐