B. 沙漠之旅(分组背包)

B. 沙漠之旅(分组背包)

大家好,又见面了,我是全栈君。

B. 沙漠之旅

1000ms
1000ms
65536KB

64-bit integer IO format: 
%lld      Java class name: 
Main
Font Size: 
 

“小胖要穿越一片沙漠,小胖开着一辆大吉普。小胖的吉普油耗高,吉普能放四桶油。”

这就是人人会唱的沙漠之歌~~体现了小胖拔群的聪明才智。

小胖的问题是这种:如今须要驾车穿越一片沙漠,总的行驶路程为L。小胖的吉普装满油能行驶X距离。同一时候其后备箱最多能放下四桶油。

在起点有N种汽油。每种汽油都有无限桶,一桶能行驶距离Ai。

如今小胖想知道:能不能恰好带四桶油,再加上出发前装满的油,使得恰好能行驶L距离。

Input

第一行一个正整数T(1 <= T <= 50)。表示数据的组数。

接下来T组数据。每组数据的第一行是三个整数L(1 <= L <= 1000),X(1 <= X <= L),N(1 <= N <= 1000)。

接下来N行,每行一个正整数Ai(1 <= Ai <= 1000)。表示第i种汽油一桶能行驶的距离。

Output

对于每组数据输出一行,若能输出“Yes”,否则输出“No”

Sample Input

1
20 9 2
2
3

Sample Output

Yes
#include<stdio.h>
#include<string.h>
int flag[5][1005];
int main()
{
    int t,l,x,n,d,sum;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d%d%d",&l,&x,&n);
        l-=x; sum=0;
        memset(flag,0,sizeof(flag));
        flag[0][0]=1;
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&d);
            for(int j=1;j<=4;j++)
            for(int e=d;e<=l;e++)
            if(flag[j-1][e-d])
            flag[j][e]=1;
        }
        if(flag[4][l])
        printf("Yes\n");
        else printf("No\n");

    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116474.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • vscode python flake8 报错怎么办

    vscode python flake8 报错怎么办vscodepythonflake8报错怎么办

  • Oracle insert all语句介绍

    Oracle insert all语句介绍Oracle中insert语句的高级用法,INSERTALL语句介绍:1、无条件insertall全部插入CREATETABLEt1(product_idNUMBER,product_nameVARCHAR2(80),MONTHNUMBER);INSERTINTOt1VALUES(111,’苹果’,1);INSERTINTOt1VALUES(222,’橘…

  • 解决bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符

    解决bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符1.报错:###Cause:java.sql.SQLSyntaxErrorException:ORA-00911:无效字符;badSQLgrammar[];nestedexceptionisjava.sql.SQLSyntaxErrorException:ORA-00911:无效字符2.出错原因:1)sql在数据库执行都是OK的。真…

  • 设备树 之pinctrl[通俗易懂]

    设备树 之pinctrl[通俗易懂]三个重要概念bank:gpa0,gpa1,gpa31等group:以功能划分,比如uart的tx和rxstate:设备的某种状态,比如”default”,”idle”,”sleep”,也可以是其他自定义的状态,比如串口的“flow_ctrl”状态例如:bank:&pinctrl_0{/**pinb…

  • volatile关键字作用与内存可见性、指令重排序概述[JAVA]「建议收藏」

    volatile关键字作用与内存可见性、指令重排序概述[JAVA]「建议收藏」在理解volotile关键字的作用之前,先粗略解释下内存可见性与指令重排序。1.内存可见性Java内存模型规定,对于多个线程共享的变量,存储在主内存当中,每个线程都有自己独立的工作内存,并且线程只能访问自己的工作内存,不可以访问其它线程的工作内存。工作内存中保存了主内存中共享变量的副本,线程要操作这些共享变量,只能通过操作工作内存中的副本来实现,操作完毕之后再同步回到主内存当中,其JVM内存模型大

  • hg261gu光猫说明书_hg2201t光猫设置教程

    hg261gu光猫说明书_hg2201t光猫设置教程电信光纤友华PT921G光猫激活成功教程关闭自带路由改桥接拨号教程电信光猫质量烂就算了,最受不了它自带的路由还做了手脚,导致VPN用不了。不让看AV就算了,打个外服游戏总可以吧?不知道为啥,网上关于光猫改桥接的教程基本没有,搜出来的也说得很不清楚,是和谐了还是什么原因不得而知。本人也是自己自己试出来的,其实修改难度并不大,只不过那个界面搞的特奇葩特不友好罢了。废话不多说,步骤如下:

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号