zoukankan      html  css  js  c++  java
  • ACM第一弹

      今天开始认真做的白书的第一题(The Dragon of Loowater),觉得其实认真来分析下题目的确有思路之后就没有很大问题了。

    这题主要用到了排序和贪心算法,每次比较相同位置骑士的能力值和恶龙头的直径大小,如果可以砍就雇佣,不可以就抛弃继续换下一个骑士能力值和龙头进行比较,感觉和

    树里面选取最短路的方法有点像。

    感想其实也没多少,废话不多说,贴代码:<代码风格很烂,而且第一次用C++还不怎么会,要改进啊啊啊啊啊啊啊啊啊啊啊啊啊啊,这份代码借鉴了书上的模式,但是基本以自己理解写的>

    #include<iostream>
    #include<stdio.h>
    #include <algorithm>
    using namespace std;
    
    #define maxn 20000 + 5
    int main(void)
    {
        int Dragon[maxn], Loowater[maxn];
        int i, n, m;
    
        while(scanf("%d%d", &n, &m) == 2 && n && m) //循环输入这一点一定要学会啊啊啊啊啊啊啊啊
        {
            for(i = 0; i < n; i++) scanf("%d", &Dragon[i]);//输入恶龙头的直径
            for(i = 0; i < m; i++) scanf("%d", &Loowater[i]);//输入骑士能力值
            sort(Dragon, Dragon+n);
            sort(Loowater, Loowater+m);
            int cur = 0;
            int cost = 0;
            for(i = 0; i < m; i++)
            {
                if(Loowater[i] >= Dragon[cur]) //比较恶龙头直径和骑士能力值
                {
                    cost += Loowater[i]; //骑士能力值大于龙头直径则雇佣
                    if(++cur == n) break; //砍龙完毕结束循环
                }
            }
            if(cur < n) printf("Loowater id doomed!
    ");
            else printf("%d
    ", cost);
        }
        return 0;
    
    }
  • 相关阅读:
    netbeans中给jpanl添加背景图片制定代码的理解——匿名内部类继承父类
    关于 ASP.NET MVC 中的视图生成
    Python的descriptor (2)
    分享php中四种webservice实现的简单架构方法及实例
    Python 中的 is 和 id
    Python的OO思想
    Python异常记录
    Python单例模式研究
    Python基础笔记
    python 映射列表 学习
  • 原文地址:https://www.cnblogs.com/runningintears/p/3407628.html
Copyright © 2011-2022 走看看