zoukankan      html  css  js  c++  java
  • 洛谷 CF402A Nuts 题解

    本蒟蒻又来发题解啦!

    这题是个紫题?

    好吧,恶意评分可海星?

    回到正题

    这题很明显是贪心啊;

    有a个坚果,b个隔板,x个隔板,最多分成v个区间。

    那么我们的贪心策略是:

    如果一共使用的挡板小于x,且当前的箱子个数不足k。

    那么,就继续往这个箱子内加,直到大于为止,很水是吧。

    直接看代码(附详解:

    #include<bits/stdc++.h>
    using namespace std;
    
    int a, b, k, v, sum, ans;
    //a, b, k, v如题,sum是当前箱子的区间数,ans 是箱子的个数 
    int main()
    {
    scanf("%d%d%d%d", &k, &a, &b, &v);//输入k, a, b, v; 
    while(true)//有点皮,不过就是这么写的 
    {
    if(a <= 0)//如果坚果装够了,那就跳出。 
    break;
    sum = 1;//最开始的每个箱子中都有一个区间 
    while(b > 0)//如果还有隔板 
    if(sum < k)//且这个箱子中区间的个数小于k 
    {
    ++ sum;//区间个数加加 
    -- b;//隔板数目减减 
    }
    else
    break;//如果没隔板了就退出 
    a -= sum * v;//坚果的个数要减去这个箱子中的区间的个数 乘上 最大坚果量的个数
    //莫非你一个区间内可以装v个,你却只装1个,还是v - 1个? 
    ++ ans;//统计箱子个数; 
    }
    printf("%d", ans);//输出啦 
    return 0;
    }
    

    本蒟蒻又双叒叕被爆踩了

  • 相关阅读:
    平易近人、兼容并蓄——Spark SQL 1.3.0概览
    System.getProperty
    Apache Commons CLI 简介
    The declared package does not match the expected package
    Maven常用命令
    使用SBT构建Scala应用(转自git)
    Area Under roc Curve(AUC)
    用特征来实现混入(mix-in)式的多重继承
    暗时间
    SVN如何commit(提交)项目代码
  • 原文地址:https://www.cnblogs.com/Flash-plus/p/12028329.html
Copyright © 2011-2022 走看看