贪心算法-采集果子(C语言)
本文最后更新于192 天前,其中的信息可能已经过时,如有错误请发送邮件到1729915388@qq.com

欢迎各位勇者来到力扣新手村,本次训练内容为「采集果实」。

在新手村中,各位勇者需要采集一些果实来制作药剂。time[i] 表示勇者每次采集 1~limit 颗第 i 种类型的果实需要的时间(即每次最多可以采集 limit 颗果实)。

当前勇者需要完成「采集若干批果实」的任务, fruits[j] = [type, num] 表示第 j 批需要采集 num 颗 type 类型的果实。采集规则如下:

按 fruits 给定的顺序依次采集每一批次
采集完当前批次的果实才能开始采集下一批次
勇者完成当前批次的采集后将清空背包(即多余的果实将清空)
请计算并返回勇者完成采集任务最少需要的时间。

示例 1:

输入:time = [2,3,2], fruits = [[0,2],[1,4],[2,1]], limit = 3

输出:10

解释:
由于单次最多采集 3 颗
第 0 批需要采集 2 颗第 0 类型果实,需要采集 1 次,耗时为 21=2 第 1 批需要采集 4 颗第 1 类型果实,需要采集 2 次,耗时为 32=6
第 2 批需要采集 1 颗第 2 类型果实,需要采集 1 次,耗时为 2*1=2
返回总耗时 2+6+2=10

示例 2:

输入:time = [1], fruits = [[0,3],[0,5]], limit = 2

输出:5

解释:
由于单次最多采集 2 颗
第 0 批需要采集 3 颗第 0 类型果实,需要采集 2 次,耗时为 12=2 第 1 批需要采集 5 颗第 0 类型果实,需要采集 3 次,耗时为 13=3
需按照顺序依次采集,返回 2+3=5

提示:

1 <= time.length <= 100
1 <= time[i] <= 100
1 <= fruits.length <= 10^3
0 <= fruits[i][0] < time.length
1 <= fruits[i][1] < 10^3
1 <= limit <= 100

#include <stdio.h>
#define N 100
#define X 10

int getMinimumTime(int* time, int timeSize, int (*fruits)[2], int fruitsSize, int limit){
    int cFTime=0;   //采集水果总耗时

    for(int i=0;i<fruitsSize;i++){
        if(fruits[i][1]%limit){
            cFTime+=time[fruits[i][0]];
        }
        cFTime+=fruits[i][1]/limit*time[fruits[i][0]];
    }
    return cFTime;
}


int main(void){
    int n,m,limit;//n为n种类型,m为m批,limit为每次最多采的个数
    scanf("%d %d %d",&n,&m,&limit);
    int time[N];       //每次采集i颗的时间
    int fruits[X][2];
    // int fruitsSize;
    // int* fruitsColSize;
    for(int i=0;i<n;i++){
       scanf("%d",&time[i]);
    }
    for(int i=0;i<m;i++){
        scanf("%d %d",&fruits[i][0],&fruits[i][1]);
    }
    int sum;
    sum = getMinimumTime(time , n , fruits ,m ,limit);
    printf("%d",sum);
    return 0;
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇