11 • 8个月前
#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;
}
评论:
请先登录,才能进行评论