洛谷刷题题解笔记----UVA11292 Dragon of Loowater

简介: 洛谷刷题题解笔记----UVA11292 Dragon of Loowater

题目链接

题目链接

解题思路

每组输入后对龙脖子的直径和骑士的能力值进行从小到大排序,外加一个判断数组判断该骑士是否被雇佣

然后遍历每个龙,看没有雇佣过的骑士是否可以杀死,因为已经从小到大排序,所以最后的结果为最小花费

循环结束判断所有的龙是否被杀死

解题代码

#include <bits/stdc++.h>
using namespace std;
bool complare( int a, int b ) {
  return a<b;
}
int main() {
  while ( true ) {
    int n;
    int m;
    cin >> n >> m;
    if ( n==0&&m==0 ) return 0;
    int d[n];//龙 
    for ( int i=0; i<n; i++ ) {
      cin >> d[i];
    } 
    int q[m];//骑士 
    for ( int i=0; i<m; i++ ) {
      cin >> q[i];
    }
    if ( n>m ) {
      cout << "Loowater is doomed!" << endl;
      break;
    }
    int is[m];
    for ( int i=0; i<m; i++ ) {
      is[i] = 1;
    } 
    //排序 
    sort( d, d+n, complare );
    sort( q, q+m, complare );
//    for ( int i=0; i<m; i++ ) {
//      cout << is[i] << " ";
//    }
    int sum = 0;//花费 
    int cnt = 0;//杀死的龙 
    for ( int i=0; i<n; i++ ) {
      int num = d[i];
      for ( int j=0; j<m; j++ ) {
        if( q[j]>=num && is[j]==1 ) {
          sum += q[j];
          is[j] = 0;
          cnt++;
          break;
        } 
      }
    }
    if ( cnt==n ) { //所有的龙被杀死 
      cout << sum << endl;
    } else {
      cout << "Loowater is doomed!" << endl;
    }
  }
}
相关文章
|
7月前
|
C++
【PTA】L1-020 帅到没朋友 (C++)
【PTA】L1-020 帅到没朋友 (C++)
121 0
【PTA】L1-020 帅到没朋友 (C++)
|
7月前
牛客小bai月赛39 F 孤独(dp)
牛客小bai月赛39 F 孤独(dp)
45 0
|
机器学习/深度学习 人工智能 安全
2023年第十四届蓝桥杯JavaB组省赛真题(题目+全部完整题解)2
2023年第十四届蓝桥杯JavaB组省赛真题(题目+全部完整题解)2
1045 1
|
知识图谱
ACM刷题之路(二十三) HDU 1114 完全背包 Piggy-Bank
ACM刷题之路(二十三) HDU 1114 完全背包 Piggy-Bank
ACM刷题之路(二十四)HDU 2844 多重背包转换 Coins
ACM刷题之路(二十四)HDU 2844 多重背包转换 Coins
107 0
|
人工智能 算法 Java
2023年第十四届蓝桥杯JavaB组省赛真题(题目+全部完整题解)1
2023年第十四届蓝桥杯JavaB组省赛真题(题目+全部完整题解)
1144 0
|
机器学习/深度学习 算法
【第十五届蓝桥杯备赛(bushi,写文凑个数)】蓝桥OJ---长草
文章目录 一、题目 1、原题链接 2、题目描述 二、解题报告 1、思路分析 2、时间复杂度 3、代码详解 三、知识风暴 BFS Flood Fill算法
186 0