c++小猫吃鱼

原理:

明明家从 1 号站点出发,开车去旅游,一共要经过 n 个站点,依次为 2、3……n。

由于明明带上了心爱的小猫,在每个站点都要为小猫提供一条鱼用做美餐(包括 1 号站点)。

除了 1 号站点只能吃 1 号站点买的鱼,其他站点既可以吃当地买的鱼,也可吃之前经过的站点买了存入车载冰箱中的鱼。

但车载冰箱消耗的电能来自汽油,所以每条鱼用冰箱保存到下一站的费用与各个站点的汽油价格有关。

为使问题简化,我们约定:

(1)车从某站开出时油箱中都是此站点刚加的汽油。

(2)车载冰箱能容纳一路上需要的所有鱼。

即:每条鱼的费用既包括购买时的费用,也包括用冰箱保存鱼的费用。

编程实现:

为了降低小猫吃鱼的总代价,明明预先上网查到了这 n 个站点的鱼价和汽油价格。并据此算出每个站点买一条鱼的费用以及从该站点到下一站用冰箱保存一条鱼的费用。你能帮明明算出这一路上小猫吃鱼的最小总费用吗?

输入格式

第一行:站点数 n,1<n<100。

接下来的 n 行:每行两个以空格分隔的正整数,表示:这一站买一条鱼的费用,以及从这一站把每条鱼保存到下一站的费用,两个费用均为小于 10000 的正整数。

输出格式

最小总费用,是一个正整数。

输入/输出例子1

输入:

5

6 3

7 1

3 2

8 3

9 5

输出:

29

#include <bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    int a[n],b[n];
    for(int i=0;i<n;i++){
        cin>>a[i]>>b[i];
    }
    int min=100000,t=0;
    for(int i=0;i<n;i++){
        if(min>a[i])
        {
            min=a[i];
        }
        t=t+min;
        min=min+b[i];
    }
    cout<<t;
    return 0;
}
### C++ 中 `QJK` 的实现 在给定的上下文中,`QJK` 表示车辆 \( k \) 离开节点 \( i \) 时的装载量[^2]。为了展示如何在 C++ 中处理类似的逻辑,下面提供了一个简单的代码片段来模拟这一过程。 #### 定义结构体表示状态 ```cpp #include <iostream> #include <vector> struct VehicleState { int vehicleId; // 车辆编 k std::vector<int> loadAtNode; // 各个节点上的载重量 Qik }; void updateLoad(VehicleState& state, int nodeId, int newLoad) { if (nodeId >= 0 && static_cast<size_t>(nodeId) < state.loadAtNode.size()) { state.loadAtNode[nodeId] = newLoad; } else { std::cerr << "Invalid node ID." << std::endl; } } int main() { const int numNodes = 5; VehicleState truck{1, std::vector<int>(numNodes)}; // 初始化各节点的载重情况 for(int i = 0; i < numNodes; ++i){ truck.loadAtNode[i] = i * 10; // 假设每到一个新站点增加一定货物数量 } // 更新特定节点的载重 updateLoad(truck, 2, 75); // 打印当前卡车的状态 for(size_t i = 0; i < truck.loadAtNode.size(); ++i){ std::cout << "Vehicle " << truck.vehicleId << ", Load at Node " << i << ": " << truck.loadAtNode[i] << std::endl; } return 0; } ``` 此程序定义了一个名为 `VehicleState` 的结构体用于存储单辆车的信息,包括其ID以及它在各个位置的载货量。函数 `updateLoad()` 可以用来更新指定节点处的载重量。最后,在主函数中创建了一辆具有五个停靠站的虚拟卡车,并对其进行了操作演示。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浪子小院

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值