首页 > 其他分享 >47. 【大学】北理工的恶龙

47. 【大学】北理工的恶龙

时间:2022-12-14 17:34:25浏览次数:57  
标签:head hero int 47 number dragon 恶龙 北理工

47. 【大学】北理工的恶龙

 

背景:
最近,北理工出现了一只恶龙,它长着很多 头,而且还会吐火,它将会把北理工烧成废墟, 于是,校长下令召集全校所有勇士杀死这只恶龙。要杀死这只龙,必须把它所有的头都砍掉,每个勇士只能砍一个龙头,龙的每个头大小都不一样,一个勇士只有在身高不小于龙头的直径的情况下才能砍下它。而且勇士们要求,砍下一个龙头必须得到和自己身高厘米数一样的学分。校长想花 最少的学分数 杀死恶龙,于是找到你寻求帮助。

输入:
第一行 龙头数 n , 勇士人数 m ( 1<=n, m<=100 ) 接下来 n 行,每行包含一个整数,表示龙头的直径 接下来 m 行,每行包含一个整数,表示勇士的身高 l

 输出:
 如果勇士们能完成任务,输出校长需要花的最小费用;否则输 出 “bit is doomed! ”

  测试输入 期待的输出 时间限制 内存限制 额外进程
测试用例 1 以文本方式显示
  1. 2 3↵
  2. 5↵
  3. 4↵
  4. 7↵
  5. 8↵
  6. 4↵
以文本方式显示
  1. 11↵
1秒 64M 0
测试用例 2 以文本方式显示
  1. 2 1↵
  2. 5↵
  3. 5↵
  4. 10↵
以文本方式显示
  1. bit is doomed!↵
1秒 64M 0

 

不行了,要笑死了!怎么会有这样的题(狗头)

难度是平凡的,因此

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
int cmpfunc(const void* a, const void* b)
{
    return (*(int*)a - *(int*)b);
}
int main(void)
{   
    /*
    * 先读入数据进数组,想要使用malloc,不过不会用~呜呜,流泪!有谁来救救我
    * 然后进行排序
    * 然后比较选出最小的一个
    */
    int credit = 0;
    int dragon_head = 0, hero_number = 0;
    scanf("%d %d", &dragon_head, &hero_number);
    int* p_dragon = (int*)malloc(dragon_head * sizeof(int));
    int* p_hero = (int*)malloc(hero_number * sizeof(int));
    for (int i = 0; i < dragon_head; i++) scanf("%d", p_dragon + i);
    for (int i = 0; i < hero_number; i++) scanf("%d", p_hero + i);
    qsort(p_dragon, dragon_head, sizeof(int), cmpfunc);
    qsort(p_hero, hero_number, sizeof(int), cmpfunc);
    int dra_killed = 0;
    for (int i = 0; i < dragon_head; i++) 
        for (int j = 0; j < hero_number; j++) 
            if (p_dragon[i] <= p_hero[j]) {
                credit += p_hero[j];
                p_hero[j] = 0;
                dra_killed++;
                break;
            }        
    if (dra_killed == dragon_head) printf("%d\n", credit);
    else puts("bit is doomed!");
        
    return 0;
}

 

标签:head,hero,int,47,number,dragon,恶龙,北理工
From: https://www.cnblogs.com/alien-han/p/16982734.html

相关文章

  • 北理工46. 猜数字
    46.猜数字有如下一组数字,其中每个数字都在1~63之间, 1 3 5 7 9111315171921232527293133353739414345474951535557596163 ......
  • STM32H747IIT6(2MB)STM32H747IGT6(1MB)STM32H747BIT6高性能MCU资料
    概述:STM32H7高性能MCU基于高性能ArmCortex-M732位RISC内核,工作频率高达400MHz。Cortex-M7内核具有浮点单元(FPU)精度,支持Arm双精度(符合IEEE754标准)和单精度数据处理指......
  • DELL 4700系列 硬盘过热 导致最近总是死机!!!!
    原来在我之前就有很多人遇到这个问题了。单位台式机器最近用鲁大师一检测温度才发现硬盘温度运行几个小时以后都是60度以上, 搜索下,应该是风扇,机箱设计缺陷。。。。哎~  ......
  • python之路47 django路由配置
    可视化界面之数据增删改查针对数据对象主键字段的获取可以使用更加方便的obj.pk获取在模型类中定义双下str方法可以在数据对象被执行打印操作的时候方便的查看'''form......
  • 前端开发系列047-基础篇之Vue的安装和初始化
    title:前端开发系列047-基础篇之Vue的安装和初始化tags:categories:[]date:2017-12-0100:00:00本文介绍Vue项目的安装和初始化等内容。一、Vue框架安装我们在......
  • P6147 [USACO20FEB] Delegation G
    \(\mathcalLink\)非常套路,神似NOIp2018D1T3。首先,只有能整除\(n-1\)的数才有可能。然后考虑判定。一个节点只能向上延伸出一条链,所以其他的链必须两两匹配掉。考虑......
  • SP8547 题解
    SP8547题解题意简述:给定\(n\),找到能够使得辗转相除法执行\(n\)次的两个数,使得这两个数的和最小,输出这两个数。\(n\le10^{18}\)分析:对于这种题,一看就是猜结论的题,因......
  • 洛谷CF1473D
    分析题意:给定l,r,将1~l-1的符号于r+1~n的符号合并。从左往右依次计算,求过程中最大值与最小值的差+1。Forexample:n=4l=2r=3符号串为+-+-则依次进行“+”“-”运算,原来为......
  • 力扣-47-全排列Ⅱ
    好像相对于全排列唯一的不同就是包含了重复元素,这样的话会与原题有什么区别呢?明明每次都选择了不同的元素,但是因为有元素相同,所以最终的结果却出现了重复值然后因为这里......
  • Visual AssistX (x64) Version 10.9.2471 Cracked
    任何问题请反馈至邮箱:[email protected](随缘查看邮件)Anyporbs->[email protected]随番茄主版本更新,使用中有任何问题请反馈至邮箱说明1......