第一题,直接把所有年龄的情况列举出来第二题,动态规划int main() {int a, b;// 全选// 选择单个// 复制所选// 粘贴所复制的文本int T;cin>>T;int maxOP = 0;vector<int> OP(T, 0);for(int i=0;i<T;i++){cin>>OP[i];maxOP = max(maxOP, OP[i]);}vector<int> dp(maxOP + 10, INT_MAX);dp[1] = 0;dp[2] = 3;//dp[8] = 8;// dp[9] = 10;// dp[9] = 4 + 3 + 1 (3 + 3 + 3)// 1 = 0// 2 = 3// 3 = 4// 4 =for(int i=3;i<=maxOP;i++){for(int j=2;j<i;j++){if(i % j == 0) dp[i] = min(dp[i], dp[j] + (i/j)+1); //如果第j是第i的倍数,可以累计(i/j)个idp[i] = min(dp[i], dp[j] + (i-j) + 2); //这个后面才想到,必须要加这个,这个表示第i个可以使用单个复制粘贴到第j个}dp[i] = min(dp[i], 1 + i); //第i个使用1个来解决}for(int i=0;i<T;i++){cout<<dp[OP[i]]<<endl;}}第三题,没想到暴力也能过,直接暴力贪心,选取最大没访问过的房间攻击或者直接加当前战斗力的1/10,暴力就可以。第四题,模拟永杰无间,题目太长,就是模拟题,没写直接交卷了。