POJ Problem 3940 Grey Area

来源:互联网 发布:闽江网络教学平台 编辑:程序博客网 时间:2024/05/29 19:13

主要是要注意结果的输出格式

#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;}


0 0