您的位置:首页 > 其它

POJ Problem 3940 Grey Area

2016-10-27 11:27 218 查看
主要是要注意结果的输出格式

#include<iostream>
#include<stdio.h>
#include<vector>
using namespace std;
int main()
{
int n, w;
while(cin >> n >> w){
if(n == 0 && w == 0) break;
vector<int> cnt(80, 0);
int base = -1, len = -1;
for(int i = 0; i < n; ++i){
int v;
cin >> v;
++cnt[v/w];
base = max(base, cnt[v/w]);
len = max(len, v/w);
}
vector<double> color(len);
for(int i = 0; i < len; ++i)
color[i] = (len-i)*1.0/len;
double ans=0.0;
for(int i = 0; i < len; ++i)
ans += (1.0*color[i]*cnt[i])/base;
ans += 0.01;
printf("%.10g\n",ans);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ACM题解 poj