您好,欢迎来到百家汽车网。
搜索
您的当前位置:首页P1208 [USACO1.3] 混合牛奶 Mixing Milk 洛谷

P1208 [USACO1.3] 混合牛奶 Mixing Milk 洛谷

来源:百家汽车网

传送门:

知识点:贪心

思路:

1.很直接的贪心,只要当前cost值最小,最终满足需求的cost值一定最小

2.按照农夫单价排序(从低到高);

代码如下:

#include <iostream>
#include <algorithm>

using namespace std;

struct node{
    int Max;
    int simple;
}f[ 5005 ];
int n, m;

int cmp ( node a, node b )
{
    return a.simple < b.simple;
}

int sum;

int main ( )
{
    scanf( "%d %d", &n, &m );
    for ( int i = 0 ; i < m; ++ i )
    {
        scanf( "%d %d", &f[ i ].simple, &f[ i ].Max );
    }
    sort ( f, f + m, cmp );
    for ( int i = 0; i < m && n > 0; ++ i )
    {
        // 取此农夫与剩余需求量的小值
        sum += (f[ i ].Max >= n ? n : f[ i ].Max) * f[ i ].simple;

        // 更新剩余量
        n -= f[ i ].Max;
    }
    printf ( "%d\n", sum );

    return 0;
}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baijiahaobaidu.com 版权所有 湘ICP备2023023988号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务