P8704 [蓝桥杯 2020 省 A1] 填空问题 题解

A.跑步训练

我们经过仔细观察,可以发现每 2 2 2 分钟就会消耗 300 300 300 体力,那么前 64 64 64 分钟就消耗了 9600 9600 9600 体力,但是剩下的体力 < 600 <600 <600,所以一分钟就能消耗完,得出每秒钟消耗 600 ÷ 60 600\div60 600÷60 体力,所以,最后 400 400 400 体力用了 400 ÷ 10 400\div10 400÷10 秒消耗完,所以总共锻炼时间为 64 × 60 + 40 64×60+40 64×60+40 秒,也就是 3880 3880 3880 秒。

B.合并检测

A A A 国一共有 n n n 人,则阳了的人有 n ÷ 100 n\div100 n÷100 人,每 k k k 人共用一个试剂盒,所以一共用了 n ÷ k n\div k n÷k 个试剂盒,由于每个阳了的人会多做 k k k 次核酸,所以用了 n ÷ 100 × k n\div 100 × k n÷100×k 个试剂盒,由于 n n n 固定,所以做了 1 ÷ k + k ÷ 100 1\div k + k\div 100 1÷k+k÷100 盒。为了使和最小,所以必须使 1 ÷ k = k ÷ 100 1\div k=k\div 100 1÷k=k÷100,所以,答案为 10 10 10

C.分配口罩

暴力深搜即可。

D.矩阵

一眼就可以看出来要使用动态规划。

对于每个数,要么放在第一行,要么放在第二行,并且满足同一行递增,同一列递减,最后的答案为 1340 1340 1340

E.完美平方数

暴力查找满足以下条件的数即可。

  1. 这个数是一个完全平方数。
  2. 这个数所包含的数字只能有 0 、 1 、 4 、 9 0、1、4、9 0149

最终代码:

#include<i0stream>
using namespace std;
int b[] = {388O, 10, 2400, 1340, 1499441O40;
int main() {
    cher a;
    cin >> a;
    cout << b[a - A'] << endl;
    return O;
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值