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

    http://acm.hdu.edu.cn/showproblem.php?pid=2570

    也算细心题啊。

    View Code
    #include"iostream"
    #include
    "algorithm"
    using namespace std;
    int main()
    {
    int i,t;
    int n,v,w;
    double a[110];
    cin
    >>t;
    while(t--)
    {
    cin
    >>n>>v>>w;
    for(i=0;i<n;i++) cin>>a[i];
    sort(a,a
    +n);
    double p=0.0;
    int k=0;

    for(i=0;i<n;i++)
    {
    if((p*i+a[i])/(i+1)<=w) //(sum*i*v+a[i]*v)/((i+1)*v)
    {
    p
    =(p*i+a[i])/((i+1));
    }
    else break;
    }
    printf(
    "%d %.2lf\n",i*v,p/100);
    }
    return 0;
    }

    下面这个是一开始的方法,因为少乘了个v,w了n次,悲剧!

    View Code
    #include"iostream"
    #include
    "algorithm"
    using namespace std;
    int main()
    {
    int t,i,j;
    int n,v,w;
    int a[110];
    cin
    >>t;
    while(t--)
    {
    cin
    >>n>>v>>w;
    for(i=0;i<n;i++) cin>>a[i];
    sort(a,a
    +n);
    double sum=0,s=0;

    __int64 k
    =0;
    int t=1;
    for(i=0;i<n;i++)
    {
    s
    +=a[i]*v; //这儿刚开始就因为少乘了一个V,结果错了n次,而测试例子正好不影响,悲剧啊!
    if(s/(v*(i+1))<=w)
    {
    sum
    =s/(v*(i+1));
    k
    ++;
    }
    else break;
    }

    printf(
    "%I64d %.2lf\n",k*v,sum/100);

    }
    return 0;
    }
  • 相关阅读:
    代理模式
    装饰模式
    策略模式
    简单工厂模式
    linux下进程相关操作
    散列表(哈希表)
    转载:最小生成树-Prim算法和Kruskal算法
    二叉排序树和平衡二叉树
    堆排序
    快速排序
  • 原文地址:https://www.cnblogs.com/FCWORLD/p/2036083.html
Copyright © 2011-2022 走看看