zoukankan      html  css  js  c++  java
  • hdu2570 迷瘴

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2570

    题目的意思:给你n个体积相同浓度不同的解药,让你配置出浓度不大于w的最大体积的解药:

    解题过程:就是一个简单的排序加判断。弄了很久还是没有弄好,后来才发现是qsort应用不当,qsort默认的排序都是从0 开始的, 而我的习惯则是从第一个开始输入,所以一直没找出错误; 排序是按浓度从小到大排学,一旦大于w就跳出循环,有两种特殊情况;最后一个满足和都不满足,加以判断 输出就行;

    代码如下

    #include <stdio.h>
    
    int main()
    {
        int  a[100010];
        int n ;
        scanf("%d",&n);
        while(n--)
        {
            int m , i , j, k, t = 1 ,max = 0;
            scanf("%d",&m);
    
            for (i = 1;i <= m ; i ++ )
            {    scanf("%d",&a[i]);
                 getchar();
            }
            for (i = 1; i<= m ; i ++)
            {
                int    sum1 = 0 ,sum2 =0; 
                double av = a[i]/2.0;
                for (j = 1; j <= m ; j ++)
                {
                    if (a[j] >= a[i])
                        sum1 ++;
                    if (a[j] >= av)
                        sum2++;
                    if (a[j]*1.0/av ==2)
                        sum2++;
                }
                if (sum1> sum2)
                    max = sum1  ;
                else max = sum2;
    
    
            }
            printf("%d\n",max);
        }
    
        return 0;
    
    }
  • 相关阅读:
    java--保留重复排序
    java--TreeSet比较器排序
    java--去重练习
    java--HashSet
    java--集合可变参数
    spring MVC入门
    java IO详解
    spring入门
    redis详解
    maven教程
  • 原文地址:https://www.cnblogs.com/zyue/p/2826248.html
Copyright © 2011-2022 走看看