• UVa11292


    题目链接

    分析:
    能力强的骑士开高价是合理的
    但是不能大材小用,所以我们直接贪心
    把龙和骑士排序之后,
    一个一个砍就行了
    当然,不能砍掉“当前需要砍掉的头”的骑士我们就不用再考虑ta了

    tip

    成功的砍掉一个头之后,不要忘了把骑士的指针向后推移一位

    附图:
    这里写图片描述

    //这里写代码片
    #include <iostream>  
    #include <cstdio>  
    #include <cstring>  
    #include <algorithm>  
    using namespace std;  
    const int M=20005;  
    int a[M],b[M];  
    int main()  
    {  
        int n,m;  
        while(scanf("%d%d",&n,&m)&&n&&m)  
        {  
            int i,j=0,sum=0;  
            for(i=0;i<n;i++)  
                scanf("%d",&a[i]);  
            for(i=0;i<m;i++)  
                scanf("%d",&b[i]);  
            sort(a,a+n);  
            sort(b,b+m);  
            for(i=0;i<m;i++)  
                if(b[i]>=a[j])  
                {  
                    sum+=b[i];  
                    if(++j==n) break;  
                }  
            if(j<n) printf("Loowater is doomed!
    ");  
            else printf("%d
    ",sum);  
        }  
        return 0;  
    }  

    当然,还有一种更优美的写法:

    //这里写代码片
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    
    using namespace std;
    
    int n,m;
    int dragon[20010],knight[20010];
    int ans=0;
    
    int main()
    {
        while (scanf("%d%d",&n,&m)!=EOF&&n&&m)
        {
            for (int i=1;i<=n;i++) scanf("%d",&dragon[i]);
            for (int i=1;i<=m;i++) scanf("%d",&knight[i]);
            if (n>m) 
            {
                printf("Loowater is doomed!
    ");
                continue;
            }
    
            sort(dragon+1,dragon+1+n);
            sort(knight+1,knight+1+m);
    
            ans=0;
            int cnt=1;
            for (int i=1;i<=m;i++)
                if (knight[i]>=dragon[cnt])
                {
                    ans+=knight[i];
                    if (++cnt>n) break;
                }
    
            if (cnt<n) printf("Loowater is doomed!
    ");
            else printf("%d
    ",ans);
        }
        return 0;
    }
  • 相关阅读:
    CSS------添加注释框
    MyEclipse------制作通讯录
    JavaScript------入门
    JSTL标签库简介
    过滤器在Web开发应用------解决中文乱码
    Servlet------(声明式)异常处理
    电脑环境变量里面的参数
    MyEclipse------黑科技
    MyEclipse------从MySQL取出图片
    MyEclipse------带进度条的输入流
  • 原文地址:https://www.cnblogs.com/wutongtong3117/p/7673026.html
Copyright © 2020-2023  润新知