• 补圣衣


    补圣衣

    Description

    有四个人,每人身上的衣服分别有s1,s2,s3和s4处破损,而且每处破损程度不同,破损程度用需修好它用的时间表示(A1...As1,B1...Bs2,C1...Cs3,D1...Ds4)。不过你可以同时修补2处破损。但是这2处破损,只能是同一件衣服上的。就是说你只能同时修补一件衣服,修好了,才能修补下一件。

    Input

    本题包含5行数据:第1行,为s1,s2,s3,s4(1≤s1,s2,s3,s4≤20) 第2行,为A1...As1 共s1个数,表示第一件衣服上每个破损修好它所需的时间 第3行,为B1...Bs2 共s2个数,表示第二件衣服上每个破损修好它所需的时间 第4行,为C1...Cs3 共s3个数,表示第三件衣服上每个破损修好它所需的时间 第5行,为D1...Ds4 共s4个数,表示第四件衣服上每个破损修好它所需的时间 (1≤A1...As1,B1...Bs2,C1...Cs3,D1...Ds4≤60)

    Output

    输出一行,为修好四件衣服所要的最短时间

    Sample Input

    1 2 1 3		
    5
    4 3
    6
    2 4 3
    

    Sample Output

    20
    

    HINT

    Source

    #include <bits/stdc++.h>
    using namespace std;
    int s[5];
    bool f[1300];
    int a[21];
    int main() 
    {
        for(int i = 1;i<=4;i++)
        cin>>s[i];
        int ans=0;
        for(int _i=1;_i<=4;_i++)
        {
            memset(f,0,sizeof(f));
            int sum=0;
            for(int i=1;i<=s[_i];i++)
            {
                scanf("%d",&a[i]);
                sum+=a[i];
            }
            f[0]=1;
            for(int i=1;i<=s[_i];i++)
            {
                for(int j=sum;j>=0;j--)
                {
                    if(f[j]==1)
                    {
                        f[j+a[i]]=1;
                    }
                }
            }
            for(int i=(sum+1)/2;i<=sum;i++)
            if(f[i]==1)
            {
                ans+=i;
                break;
            }
        } 
        cout<<ans<<endl;   
        return 0;
    }
    /**************************************************************
        Problem: 1606
        User: LJA001162
        Language: C++
        Result: 正确
        Time:0 ms
        Memory:1536 kb
    ****************************************************************/
    
  • 相关阅读:
    iPhone6虽好,但也要借鉴这八个功能
    中小型企业商业智能平台的开发和实现(数据仓库、BI系统、真实项目实战)
    iOS开发入门教程_iOS开发视频教程
    零基础入门jQuery视频教程
    零基础3G Android移动开发就业培训
    请求库requesets库使用
    请求头加引号工具
    请求库urllib使用
    【Liunx】saltstack运维工具
    【Liunx】消息队列rabbitmp
  • 原文地址:https://www.cnblogs.com/LJA001162/p/11867769.html
Copyright © 2020-2023  润新知