万卷网 > 题目详情
题型:组合题

阅读程序(2)

#include <iostream>
#include <vector>
using namespace std;
int compute(vector<int> &cost) {
    int n = cost.size();
    vector<int> dp(n + 1, 0);
    dp[1] = cost[0];
    for (int i = 2; i <= n; i++) {
      dp[i] = min(dp[i - 1], dp[i - 2]) + cost[i - 1];
   }
   return min(dp[n], dp[n - 1]);
}
int main() {
    int n;
    cin >> n;
    vector<int> cost(n);
    for (int i = 0; i < n; i++) {
        cin >> cost[i];
    }
    cout << compute(cost) << endl;
    return 0;
}
(1).

如果输入的 cost 数组为{10,15,30,5,5,10,20},程序的输出为( )

A.

"25"

B.

"30"

C.

"35"

D.

"40"

(2).

若将代码中的 min(dp[i-1],dp[i-2])+cost[i-1]修改为 dp[i-1]+cost[i-2],输入 cost 数组为{5,10,15}时,程序的输出为( )

A.

"10"

B.

"15"

C.

"20"

D.

"25"

(3).

当输入的 cost 数组为{10,15,20}时,程序的输出为 15( )

A.正确 B.错误
(4).

程序总是输出 cost 数组种的最小的元素( )

A.正确 B.错误
(5).

如果将 dp[i-1]改为 dp[i-3],程序可能会产生编译错误( )

A.正确 B.错误
(6).

当输入的 cost 数组为{1,100,1,1,1,100,1,1,100,1}时,程序的输出为( )。

A.

“6”

B.

“7”

C.

“8”

D.

”9”

更新时间:2025-01-16 12:40:41 |
【知识点】 CCF非专业级别软件能力认证CSP-J/入门级

相似题推荐

简答题

T4多边形


2026-04-17
简答题

T3异或和


2026-04-17
简答题

T2座位


2026-04-16
简答题

T1拼数

2026-04-16
单选题

假设a、b、c都是布尔变量,逻辑表达式(a &&b)IⅡ(!c &&a)的值与下列哪个表达式不始终相等?()

A.

a &&(bⅡ!c)

B.

(al|!c)&&(bⅡ !c)&&(all a)

C.

a &&(!b II c)

D.

!(!a|!b)II(a &&!c)

2025-10-16
公众号
客服 反馈
顶部