指南第一章 例题一 UVA 11292 Dragon of Loowater(贪心算法)

原创 2016年08月31日 14:05:38

题目链接:http://7xjob4.com1.z0.glb.clouddn.com/8fb7b725a5a951513d923d6e48ca617e

【思路】:先给骑士按能力排序,恶龙按头的直径排序。
然后骑士按能力从小到大扫一遍,用cnt来记录恶龙砍到了第几个,这样可以用最合适的方法去砍恶龙,使得花费最合理。

下面是AC代码:

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;

int a[20005],b[20005];
int main()
{
    int n,m;
    while(~scanf("%d%d",&n,&m))
    {
        if(n==0&&m==0)
        {
            break;
        }
        for(int i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
        }
        for(int j=0;j<m;j++)
        {
            scanf("%d",&b[j]);
        }
        sort(a,a+n);
        sort(b,b+m);
        int cnt=0,sum=0;
        for(int i=0;i<m;i++)
        {
            if(cnt==n)
            {
                break;
            }
            if(b[i]>=a[cnt])
            {
                sum+=b[i];
                cnt++;
            }
        }
        if(cnt==n)
        {
            printf("%d\n",sum);
        }
        else
        {
            printf("Loowater is doomed!\n");
        }
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

【贪心】【Uva11292】 勇者斗恶龙

直接用白书上的翻译吧 例题1  勇者斗恶龙(The Dragon of Loowater, UVa 11292) 你的王国里有一条n个头的恶龙,你希望雇一些骑士把它杀死(即砍掉所有头)。村里有...
  • zy691357966
  • zy691357966
  • 2014年10月08日 16:10
  • 1228

第一章例题1勇者斗蛟龙UVa 11292(贪心)

/*就是贪心,将两个数组排序*/ #include #include #include using namespace std; const int maxn=20000+10; int ...
  • Hot_Summer_Days
  • Hot_Summer_Days
  • 2014年07月25日 13:56
  • 368

【算法设计与分析】The Dragon of Loowater

【题目】 【输入输出要求】 【输出样例】 【程序代码】 #include #include #define N 2000 #define M 2000 int main() { ...
  • LDan508
  • LDan508
  • 2016年06月13日 22:15
  • 616

UVa 11292 屠龙勇士

Once upon a time, in the Kingdom of Loowater, a minor nuisance turned into a major problem. The sho...
  • pengkexiaohuai
  • pengkexiaohuai
  • 2015年08月11日 11:12
  • 130

指南第一章 例题二 UVA 11729 Commando War(贪心算法)

题目链接:http://7xjob4.com1.z0.glb.clouddn.com/f55cd98161c1c3dd5dae37a2fd985b54中文题意:你有n个部下,每个部下需要完成一项任务。...
  • qq_32866009
  • qq_32866009
  • 2016年08月31日 18:50
  • 310

例题6-4 破损的键盘 UVa11988

1.题目描述:点击打开链接 2.解题思路:本题利用链表解决。每输入一个字符,就把它存起来,设输入字符串是s[1...n],则可以用Next[i]表示在当前显示屏中s[i]右边的字符编号。为了便于后续...
  • u014800748
  • u014800748
  • 2015年03月29日 19:49
  • 1704

扩展欧几里德算法模版题(求逆元+分析+题目)HDU1576 A/B

首先给大家普及一下什么是扩展欧几里德算法,它是由欧几里德算法演变的,即我们常说的辗转相除法。 代码如下: int gcd(int a,int b){     return b?gcd(b,a%...
  • Singular__point
  • Singular__point
  • 2016年11月18日 16:56
  • 1184

例题7-14 网格动物 UVa1602

1.题目描述:点击打开链接 2.解题思路:本题利用回溯法解决。本题实际上是要搜索n连通块不同形态的个数(平移,翻转,旋转后相同的算作一种形态),因此能够有效的判断n连通块是否重复是关键。 那么如何...
  • u014800748
  • u014800748
  • 2015年08月10日 17:05
  • 1449

例题4-5 追踪电子表格中的单元格 UVa512

算法竞赛入门经典(第2版)第4章 函数和递归 例题4-5 追踪电子表格中的单元格  UVa512 感悟。 1、阅读书中题目,从网站下载英文原题,重点在看输出数据与格式,叙述过程太繁琐,没耐心看下去。 ...
  • mrcrack
  • mrcrack
  • 2016年08月14日 10:17
  • 940

第一章例题3分金币UVa 11300(中位数)

/*这是一道涉及到中位数的题,一上去谁也看不出这是中位数啊! 我们先分析一下这道题,由于要求最少的转手金币量, 那我们就要假设这n个人都是足够聪明的,什么叫足够聪明呢? 举个例子,1号给2号4个...
  • Hot_Summer_Days
  • Hot_Summer_Days
  • 2014年07月25日 16:52
  • 189
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:指南第一章 例题一 UVA 11292 Dragon of Loowater(贪心算法)
举报原因:
原因补充:

(最多只允许输入30个字)