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");

    }
}

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 女生学java_女生到底适不适合学Java-Fun言

    女生学java_女生到底适不适合学Java-Fun言随着女性越来越独立,我们可以看到再以前我们认为不适合女性朋友从事的工作,也出现了越来越多的女生,例如对IT行业也不再跟之前一样畏惧。虽然当下很多人所持的观点依旧是,女生不适合IT行业,但是很多女生已经在IT行业中崭露头角,成为IT行业中的中坚力量。越来越多的女生有志于从事IT行业,很多女生选择学Java,那么女生学习Java到底有没有优势呢?怎么说呢,女生学习Java有时候比男生更占优势!具体表现…

    2022年7月7日
  • PPP之PAP与CHAP经典验证案例

    PPP之PAP与CHAP经典验证案例

    2021年8月7日
  • PAT乙级经验分享(19.03.02)「建议收藏」

    PAT乙级经验分享(19.03.02)「建议收藏」一、关于报名条件:有身份证就行!!报名费用:256人民币(?为什么涨价)报考方式:https://www.patest.cn考场:自选就近考点参与考试。二、关于要准备的东西准考证!!身份证!!考试会发草稿纸!如果有喜欢写写画画的同学们可以带笔啦(走进考场,看看大家纷纷拔出笔的瞬间,我:…)必胜的决心(?)三、关于考试(PAT乙级)考试时间为180分钟;乙级共有5道…

    2022年4月29日
  • NS2 nam中节点及数据流颜色设置

    NS2 nam中节点及数据流颜色设置

    2021年12月5日
  • AssertValid函数学习 .「建议收藏」

    AssertValid函数学习 .「建议收藏」转自http://tsitao.blog.163.com/blog/static/29795822006914105840496/ VC的调试中,AssertValid和Dump函数的应用CObject::AssertValid成员函数提供对对象内部状态的运行时检查。尽管从CObject派生类时不需要重写AssertValid,但可以通过重写使您的类更安全可靠。Asse

    2022年7月14日
  • Stream和parallelStream

    Stream和parallelStreamStream和parallelStreamParallelStreamstreamparallelstreamstream和parallelStream一.什么是Stream?Stream是在Java8新增的特性,普遍称其为流;它不是数据结构也不存放任何数据,其主要用于集合的逻辑处理。二.和Iterator的区别Iterator做为迭代器,其按照一定的顺序迭代遍历集合中的每一个元素,并且对每个元素进行指定的操作。

    2022年7月19日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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