Stripies POJ 1862(贪心)

原题

题目链接

题目分析

数学贪心题,每次取两个最大的合成,合成到最后即可使值最大.

代码

 

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <utility>
 4 #include <cstdio>
 5 #include <cmath>
 6 #include <cstring>
 7 #include <string>
 8 #include <vector>
 9 #include <stack>
10 #include <queue>
11 #include <map>
12 #include <set> 
13 
14 using namespace std;
15 typedef long long LL;
16 const int INF_INT=0x3f3f3f3f;
17 const LL INF_LL=0x3f3f3f3f3f3f3f3f; 
18 
19 double num[100];
20 
21 int main()
22 {
23 //    freopen("black.in","r",stdin);
24 //    freopen("black.out","w",stdout);
25     int n;
26     cin>>n;
27     for(int i=0;i<n;i++) scanf("%lf",&num[i]);
28     while(n!=1)
29     {
30         sort(num,num+n);
31         num[n-2]=2*sqrt(num[n-1]*num[n-2]);
32         n--;
33     }
34     printf("%.3f\n",num[0]);
35     return 0;
36 } 
相关文章
相关标签/搜索