1 条题解

  • 2
    @ 2026-5-18 21:36:28
    额额额这题隶属于阴间了:因为这道题看上去有点算贪心,但是没贪心那么复杂:
    
    
    解析:
    在及大多数情况下大船是最优先的,因为按6个人来算
    则:
    大船100
    中船75*2
    小船60*3
    也就是说在没有余数的情况下大船无疑是最优选
    
    但是!!!
    
    当剩余5人,4人,3人,2人,1人呢?
    
    5人:大船最优解  100元
    4人:大船最优解  100元
    3人:中船最优解  75元
    2人:小船最优解  60元
    1人:小船最优解  60元
    
    此时我们就发现,大船首选,然后再根据剩余人数来判断余下的最优解
    
    
    

    代码:

      #include <bits/stdc++.h>
    using namespace std;
    int main(){
        int m;
        cin >> m;
        int w = 100 - m;
        int a = m / 6;
        int b = m % 6;
        int c = 0, d = 0;
        if(b == 1 || b == 2){
            d = 1;
        }else if(b == 3){
            c = 1;
        }else if(b == 4 || b == 5){
            a = a + 1;
        }
        int a1 = w / 6;
        int b1 = w % 6;
        int c1 = 0, d1 = 0;
        if(b1 == 1 || b1 == 2){
            d1 = 1;
        }else if(b1 == 3){
            c1 = 1;
        }else if(b1 == 4 || b1 == 5){
            a1 = a1 + 1;
        }
        int x = a + a1;
        int y = c + c1;
        int z = d + d1;
        cout << x << " " << y << " " << z << endl;
        return 0;
    }
    
  • 1

【基础】需要租多少只船最经济?

信息

ID
30332
时间
1000ms
内存
256MiB
难度
9
标签
递交数
14
已通过
3
上传者