[2016-03-14][UVA][11292][Dragon of Loowater]

Posted 红洋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[2016-03-14][UVA][11292][Dragon of Loowater]相关的知识,希望对你有一定的参考价值。

  • 时间:2016-03-14 19:50:12 星期一
  • 题目编号:[2016-03-14][UVA][11292][Dragon of Loowater]
  • 题目大意:
    • 有m个骑士要砍n条龙,每个骑士能看掉龙的头颅当且仅当其实的能力值大于龙的头的直径,每个其实砍掉一条龙需要付出数值上等于能力值的代价,问m个骑士能否砍完所有龙,能则输出最小代价,否则输出"Loowater is doomed!"
  • 输入:
    • 多组数据
    • 每组数据
    • n m
    • n行 龙头的直径
    • m行 骑士的能力值
  • 输出:
    • 如果能砍完所有龙,输出最小代价
    • 否则输出 "Loowater is doomed!"
  • 分析:
    • 贪心,骑士从能力低到高开始,每个其实选择第一个自己能对付的龙(龙按头大小排序),能砍下龙脑袋的就计数,不能直接忽略判断下一个,知道所有龙砍完或者骑士枚举完



#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <queue>
#include <stack>
#include <bitset>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <string>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
using namespace std;
typedef long long LL;
#define CLR(x,y) memset((x),(y),sizeof((x)))
#define FOR(x,y,z) for(int (x)=(y);(x)<(z);++(x))
#define FORD(x,y,z) for(int (x)=(y);(x)>=(z);--(x))



const int maxn = 20000 + 100;
int a[maxn],b[maxn];
int main(){
        //freopen("in.txt","r",stdin);
        //freopen("out.txt","w",stdout);
        int n,m;
        while(~scanf("%d%d",&n,&m) && n + m){
                FOR(i,0,n)      scanf("%d",a + i);
                FOR(i,0,m)      scanf("%d",b + i);
                sort(a,a+n);sort(b,b+m);
                int j = 0,ans = 0;
                FOR(i,0,m){
                        if(b[i] >= a[j]){
                                ans += b[i];
                                if(++j == n)      break;
                        }
                }
                if(j == n)    
                        printf("%d\n",ans);
                else puts("Loowater is doomed!");       
        }
        return 0;
}




以上是关于[2016-03-14][UVA][11292][Dragon of Loowater]的主要内容,如果未能解决你的问题,请参考以下文章

uva 11292

Uva11292 Dragon of Loowater

UVA 11292 Dragon of Loowater

UVA 11292 Dragon of Loowater(简单贪心)

uva 11292 Dragon of Loowater

[UVA-11292] Dragon of Loowater(勇者斗恶龙) 题解