UVA 11292 The Dragon of 贪心

来源:互联网 发布:网络用语233是什么意思 编辑:程序博客网 时间:2024/04/27 16:36
题意是 一个龙有n个头 头都有直径 有m个骑士 骑士有身高 如果身高超过直径 骑士就能砍下龙头 一个骑士只能砍一个头 国王雇佣骑士 价格是骑士的身高 求国王最少要多少钱才能杀掉龙 如果杀不掉 就输出 Loowater is doomed!

贪心思想,直接骑士和龙头都从小到大排,从最小的骑士开始选去砍龙头。。

    #include <stdio.h>      #include <string.h>      #include <algorithm>      using namespace std;            const int MAXN = 20005;            int n, m, d[MAXN], k[MAXN], ans;            void init() {          ans = 0;          for (int i = 0; i < n; i ++)          scanf("%d", &d[i]);          for (int i = 0; i < m; i ++)          scanf("%d", &k[i]);      }            void solve() {          init();          sort(d, d + n);          sort(k, k + m);          int j = 0;          for (int  i = 0; i < m; i ++) {          if (k[i] >= d[j]) {              ans += k[i];              j ++;              if (j == n) {              printf("%d\n", ans);              return;              }          }          }          printf("Loowater is doomed!\n");      }            int main() {          while (~scanf("%d%d", &n, &m) && n + m) {          solve();          }          return 0;      }  


0 0
原创粉丝点击