【瞎搞】 ZOJ 1543 Stripies

两个粒子相撞 变成一个粒子 其质量为m=2*sqrt(m1*m2)

求最后剩下一个粒子时可能的最小质量

瞎搞发现从大到小和会最小

#include <iostream>
#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<math.h>
using namespace std;

int cmp(double x,double y)
{
    return x>y;
}
int main()
{
    int n;
    double a[110];
    while(scanf("%d",&n)!=EOF)
    {
        for(int i=0;i<n;i++)
            scanf("%lf",&a[i]);
  
        sort(a,a+n,cmp);
        double ans=a[0];
        for(int i=1;i<n;i++)
        {
            ans=2*sqrt(ans*a[i]);
        }
        printf("%.3lf\n",ans);
    }
    return 0;
}


posted @ 2014-10-02 19:00  kewowlo  阅读(142)  评论(0编辑  收藏  举报