先贴上答案

#include<iostream>
using namespace std;
int main() {
    string ans [] = {
        "3880",
        "52038720",
        "10",
        "241830",
        "1340",
    };
    char T;
    cin >> T;
    cout << ans[T - 'A'] << endl;
    return 0;
}


解析

A 跑步训练


- 最初体力值
- 跑步每分钟损耗的体力
- 休息每分钟增加的体力

小明打算跑一分钟、休息一分钟,如此循环。

分钟体力值的变化为,每分钟消耗体力值。

但前分钟消耗的体力值为,剩下的,不够跑一分钟。

每秒消耗的体力值为,只够跑秒。

总共跑了秒。

B 纪念日


年,月,日,有 小时,日,有小时,共小时,月,有 天,合小时,那么一共是小时。

年,一年天,共天,期间有个闰年,会多出来天,共 天,合小时。

年,闰年,月,共天,合小时,加上日的小时,共小时。

以上加在一起是小时,合分钟。

C 合并检测


设全国一共有人,每人有一个阳性,那么全国就有人为阳性,每人用一个试剂盒,做了 次,如果有阳性则加做次,全国每个阳性都会使次数加次,一共加了次,总共是 次,为常数,约掉之后就是次,参与过九年义务教育的人都知道,要让最小,就行了。

D REPEAT 程序


这怎么这么像 python。

稍微改亿下不就行了。

代码过于长,所以不贴了,楼上大佬有,可以自己看。

答案案为

E 矩阵


这不 dp 吗?

每个数都得放在第一行或第二行的第一个没有放数的位子上,这不就简单了吗。

第一行:

dp[i][j]=dp[i-1][j]+dp[i][j]

第二行:

dp[i][j]=dp[i][j-1]+dp[i][j]

注意每加一次都要取余!

代码就不贴了(状态转移方程不都在上面了吗)答案是

## END
本人的第篇题解,希望能帮助大家