vijos P1317 开心的金明 C语言 源码(动态规划)

vijos P1317 开心的金明 C语言 源码(动态规划)

//测试数据 #0: Accepted, time = 0 ms, mem = 476 KiB, score = 10

测试数据 #1: Accepted, time = 0 ms, mem = 476 KiB, score = 10

测试数据 #2: Accepted, time = 0 ms, mem = 472 KiB, score = 10

测试数据 #3: Accepted, time = 15 ms, mem = 476 KiB, score = 10

测试数据 #4: Accepted, time = 15 ms, mem = 476 KiB, score = 10

测试数据 #5: Accepted, time = 0 ms, mem = 472 KiB, score = 10

测试数据 #6: Accepted, time = 15 ms, mem = 472 KiB, score = 10

测试数据 #7: Accepted, time = 62 ms, mem = 472 KiB, score = 10

测试数据 #8: Accepted, time = 125 ms, mem = 476 KiB, score = 10

测试数据 #9: Accepted, time = 0 ms, mem = 476 KiB, score = 10//

   #include <stdio.h>
    int N = 0, m = 0;
    int v[25], p[25];

    int max(int a,int b)
    {
    return (a > b) ? a : b;
    }
    int f(int c, int d)
    {
        int w;
        if(d == 0)
        {
            if(c >= v[d])
            {
                w = v[d] * p[d];
            }
            else
            {
                w  = 0;
            }
        }
        else if(d!=0)
        {
            if(c >= v[d])
            {
                w = max(f(c - v[d], d - 1) + v[d] * p[d], f(c, d - 1));
            }
            else
            {
                w = f(c, d - 1);
            }

        }

        return w;
    }
    int main()
    {
        scanf("%d %d",&N, &m);
        int i = 0;
        for (i = 0; i < m; i++)
        {
            scanf("%d %d", &v[i], &p[i]);
        }
        printf("%d", f(N, m));
        return 0;
    }


Accepted
, time = 232 ms, mem = 476 KiB, score = 100//

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值