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

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

题目描述

A:跑步训练。

小明要做一个跑步训练。初始时,小明充满体力,体力值计为 1000010000。如果小明跑步,每分钟损耗 600600 的体力。如果小明休息,每分钟增加 300300 的体力。体力的损耗和增加都是均匀变化的。

小明打算跑一分钟、休息一分钟、再跑一分钟、再休息一分钟……如此循环。如果某个时刻小明的体力到达 00,他就停止锻炼。请问小明在多久后停止锻炼。

为了使答案为整数,请以秒为单位输出答案。答案中只填写数,不填写单位。

B:合并检测。

新冠疫情由新冠病毒引起,最近在 AA 国蔓延,为了尽快控制疫情,AA 国准备给大量民众进病毒核酸检测。

然而,用于检测的试剂盒紧缺。为了解决这一困难,科学家想了一个办法:合并检测。即将从多个人(kk 个)采集的标本放到同一个试剂盒中进行检测。如果结果为阴性,则说明这 kk 个人都是阴性,用一个试剂盒完成了 kk 个人的检测。如果结果为阳性,则说明至少有一个人为阳性,需要将这 kk 个人的样本全部重新独立检测(从理论上看,如果检测前 k1k-1 个人都是阴性可以推断出第 kk 个人是阳性,但是在实际操作中不会利用此推断,而是将 kk 个人独立检测),加上最开始的合并检测,一共使用了 k+1k+1 个试剂盒完成了 kk 个人的检测。AA 国估计被测的民众的感染率大概是 1%1\%,呈均匀分布。请问 kk 取多少能最节省试剂盒?

C:分配口罩。

某市市长获得了若干批口罩,给定每批口罩的数量,市长要把口罩分配给市内的 22 所医院。

masks=[9090400,8499400,5926800,8547000,4958200,4422600,
5751200,4175600,6309600,5865200,6604400,4635000,
10663400,8087200,4554000]

由于物流限制,每一批口罩只能全部分配给其中一家医院。市长希望 22 所医院获得的口罩总数之差越小越好。请你计算这个差最小是多少?

D:矩阵。

120201 \sim 2020 放在 2×10102 \times 1010 的矩阵里。要求同一行中右边的比左边大,同一列中下边的比上边的大。一共有多少种方案?

答案很大,你只需要给出方案数除以 20202020 的余数即可。

E:完美平方数。

如果整个整数 XX 本身是完全平方数,同时它的每一位数字也都是完全平方数,我们就称 XX 是完美平方数。前几个完美平方数是 001144994949100100144144 …。

请你计算第 20202020 个完美平方数是多少?

输入格式

输入一个大写字母,表示第几个问题。

输出格式

根据所输入的问题编号,输出对应问题的答案。

提示

答题模板,可供参考。

#include<iostream>
using namespace std;
int main() {
    string ans [] = {
        "The answer of task A", // 双引号中替换为 A 题的答案
        "The answer of task B", // 双引号中替换为 B 题的答案
        "The answer of task C", // 双引号中替换为 C 题的答案
        "The answer of task D", // 双引号中替换为 D 题的答案
        "The answer of task E", // 双引号中替换为 E 题的答案
    };
    char T;
    cin >> T;
    cout << ans[T - 'A'] << endl;
    return 0;
}