dp

11  •  1个月前


#include <iostream>
#include <vector>
using namespace std;

int main() {
    vector<int> appleHeights(10);
    int maxReachHeight;

    // 读取10个苹果的高度
    for (int i = 0; i < 10; i++) {
        cin >> appleHeights[i];
    }

    // 读取陶陶的伸手高度
    cin >> maxReachHeight;

    // 计算能够达到的最大高度
    int maxReachWithStool = maxReachHeight + 30;

    // 定义动态规划数组
    vector<int> dp(10, 0);

    // 初始化
    if (appleHeights[0] <= maxReachWithStool) {
        dp[0] = 1;
    } else {
        dp[0] = 0;
    }

    // 填充动态规划数组
    for (int i = 1; i < 10; i++) {
        if (appleHeights[i] <= maxReachWithStool) {
            dp[i] = dp[i-1] + 1;
        } else {
            dp[i] = dp[i-1];
        }
    }

    // 输出最终结果
    cout << dp[9] << endl;

    return 0;
}


评论:

大佬风范,一遍就懂


天生我材必有难,千金散尽还债来  •  1个月前

大佬的方法太简单了,一学就会


6  •  1个月前

请先登录,才能进行评论