Uva 11292 The Dragon of Loowater
2015-09-06 23:48
519 查看
题意:在一个国家,m个鸭子出现了变异,变成了恶龙,国王有n个骑士,想要杀掉所有的恶龙要保护国家的安全,如果不能将其全部杀死,那么国家便要灭亡、 给出你m个恶龙的身高,和每个骑士的身高,只有当骑士的身高大于等于恶龙的身高,骑士才能杀死恶龙、 然而派出骑士要话费一些金额,他的金额与骑士的身高是一样的、国王是否能杀死所有的恶龙,如果能杀死,国王想要话费最小的代价来杀死所有的恶龙、 如果杀不死恶龙国家便要灭亡输出 Loowater is doomed!
思路:排序+贪心 要注意的是每个骑士只能使用一次,其他的只需要找出大于恶龙身高的其实中身高最小的便可,如果没有将其全部杀死那么直接输出Loowater is doomed! 否则输出代价、
AC代码:
思路:排序+贪心 要注意的是每个骑士只能使用一次,其他的只需要找出大于恶龙身高的其实中身高最小的便可,如果没有将其全部杀死那么直接输出Loowater is doomed! 否则输出代价、
AC代码:
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxn=110000; int n,m; int a[maxn],b[maxn]; int vis[maxn]; int x,y,ans; int main() { while(scanf("%d %d",&m,&n)!=EOF){ if(m+n==0)break; memset(vis,0,sizeof(vis)); for(int i=0;i<m;i++) scanf("%d",&a[i]); for(int i=0;i<n;i++) scanf("%d",&b[i]); sort(a,a+m); sort(b,b+n); x=y=ans=0; while(1){ if(x==m||y==n)break; if(a[x]<=b[y]){ ans+=b[y]; vis[x]=1; x++,y++; } else y++; } int falg=0; for(int i=0;i<m;i++) if(vis[i]==0){ falg=1; break; } if(falg) printf("Loowater is doomed!\n"); else printf("%d\n",ans); } return 0; }
相关文章推荐
- Intent中的四个重要属性——Action、Data、Category、Extras
- leetcode: (121) Best Time to Buy and Sell Stock
- 分类(category)
- django for windows
- hdu 1056 HangOver
- 【英语】Bingo口语笔记(69) - 脏话的表达
- POJ-2195 Going Home
- 【英语】Bingo口语笔记(68) - come系列
- Django开发教程 第一节 HelloWorld
- golang-beego的使用
- hdu 4722 Good Numbers(找规律,记忆化搜索,数位dp)
- &&在goto语句中的用法
- POJ2007Scrambled Polygon
- 关于google重组
- POJ 3274 Gold Balanced Lineup hash
- Algorithms—139.Word Break
- 谷歌识图、google识图如何知道图片相似?
- django中时区设置
- mongo导入导出
- MangoDb学习笔记一