zoukankan      html  css  js  c++  java
  • 【POJ

    Stripies

    直接上中文了

    Descriptions

    我们的化学生物学家发明了一种新的叫stripies非常神奇的生命。该stripies是透明的无定形变形虫似的生物,生活在果冻状的营养培养基平板菌落。大部分的时间stripies在移动。当他们两个碰撞,会有新stripie生成,而旧的不见了。经过长期研究,他们发现新stripies的体重不等于消失的stripies的体重,而是:如果一个质量为m1和m2的stripies相撞,生成的stripies体重是2*sqrt(m1*m2) 现在,科学家们想知道,如果stripies两两碰撞至只剩一个,则这一个的最小质量是多少? 

    Input

    第一行输入 N (1 <= N <= 100) :stripies的数量. 接下来的 N 行是stripies的质量(1<=m<=10000)

    Output

    输出最小质量。保留至小数点后三位

    Sample Input

    3
    72
    30
    50
    

    Sample Output

    120.000

    Hint

    样例解释:
    72与50合并,产生120,120与30合并,产生120

    题目链接

    https://vjudge.net/problem/POJ-1862

    贪心算法,2*sqrt(m1*m2) 有这个式子易得m1和m2应该每次都是这个数组里最大的两个数,想到这就简单了,每次排个序就行了

    AC代码

    #include <iostream>
    #include <cstdio>
    #include <fstream>
    #include <algorithm>
    #include <cmath>
    #include <deque>
    #include <vector>
    #include <queue>
    #include <string>
    #include <cstring>
    #include <map>
    #include <stack>
    #include <set>
    #include <sstream>
    #define IOS ios_base::sync_with_stdio(0); cin.tie(0);
    #define Mod 1000000007
    #define eps 1e-6
    #define ll long long
    #define INF 0x3f3f3f3f
    #define MEM(x,y) memset(x,y,sizeof(x))
    #define Maxn 100000+100
    using namespace std;
    int n;
    double m[Maxn];
    bool cmp(double x,double y)//m数组按从大到小排序
    {
        return x>y;
    }
    double fun(double m1,double m2)//题目要求的函数
    {
        return 2*sqrt(m1*m2);
    }
    int main()
    {
        cin>>n;
        for(int i=0;i<n;i++)
            cin>>m[i];
        sort(m,m+n,cmp);//排序
        while(m[1]!=0)
        {
            m[0]=fun(m[0],m[1]);//更新
            m[1]=0;
            sort(m,m+n,cmp);
    //        不懂的看一加上下面的注释看一下里面的操作
    //        for(int i=0;i<n;i++)
    //            cout<<m[i]<<" ";
    //        cout<<endl;
        }
        printf("%.3f
    ",m[0]);
        return 0;
    }
  • 相关阅读:
    LeetCode-49. Group Anagrams
    LeetCode-242.Valid Anagram
    LeetCode-239.Sliding Window Maximum
    LeetCode-703. Kth Largest Element in a Stream
    LeetCode-225.Implement Stack using Queues
    LeetCode-232.Implement Queue using Stacks
    LeetCode-25. Reverse Nodes in k-Group
    LeetCode-142.Linked List Cycle II
    LeetCode-141. Linked List Cycle
    LeetCode-24.Swap Nodes in Pairs
  • 原文地址:https://www.cnblogs.com/sky-stars/p/11302037.html
Copyright © 2011-2022 走看看