zoukankan      html  css  js  c++  java
  • UESTC1263(贪心)

    Description

    ZYHAzwraith用自己心爱的键盘换来了很多支漂亮的荧光棒!

    一天,他准备用一条由很多个莹光圈相互连接而成的荧光链送给女神Asuna。每个荧光圈只能由一支荧光棒首尾相接成一个环得到。现在他手中有  条荧光链,为了最后把这些链拼接成一条链,每次他可以选择任意一条荧光链中的任意一个荧光圈并用魔法把这个圈断开,然后用这个断开的荧光圈去连接任意两条荧光链使之成为一条。

    现在ZYHAzwraith想知道最少需要多少次才能把这些荧光链链拼接成一条长链?

    Input

    第一行是一个整数  ( ), 表示有  条荧光链。 
    接下来一行有  个数,每个数  ()表示第  条链由  个荧光圈相互连接

    Output

    输出一个整数表示最少的次数。

    Sample Input


    3 2 1



    4 3 4

    Sample Output

    1


    2

    Hint

    第一组样例解释: 

    贪心思想, 拆出足够的单个环来进行连接;

    #include <cstdio>
    #include <algorithm>
    using namespace std;
    const int N = 2001;
    int num[N];
    int main()
    {
        int n;
        while(scanf("%d", &n) != EOF)
        {
            for(int i = 0; i < n; i++)
                scanf("%d", &num[i]);
            sort(num, num+n);
            int len = n;
            int tot = 0, i = 0;
            while(tot != len-1)
            {
                if(num[i]){num[i]--; tot++;}
                else{i++; len--;}
            }
            printf("%d
    ", tot);
        }
        return 0;
    }
  • 相关阅读:
    二SERVLET(2)
    一SERVLET (1)
    eclipse 恢复SVN无法还原的文件 svn使用了还原,但本地的没有提交找回没提交代码的方法
    oracle dual 表
    sql 自增字段的控制 hibernate注解的写法
    sql 集合运算
    join
    group by having where order by
    数据库oracle 驱动版本
    JFreeChart的使用
  • 原文地址:https://www.cnblogs.com/soTired/p/5136515.html
Copyright © 2011-2022 走看看