1053 住房空置率

/**
 * 1.解题思路:maybe表示可能空置,must表示空置
 *           对于每一个用电数据,判断是否小于阈值e
 *           累计小于e的次数sum,如果sum > (k / 2)
 *           表示超过一半的日子低于阈值e,说明可能空置
 *           再判断观察期k是否大于d,如果大于说明是空置,must++,
 *           否则是可能空置,maybe++,
 *           最后输出可能空置率maybe/n和空置率must/n
 *           注意,printf中要使用两个百分号%%表示输出一个百分号
 * 
 * 2.参考博客:https://www.liuchuo.net/archives/615
 * */
#include <iostream>
using namespace std;
int main() {
    //maybe表示可能空置,must表示空置
    int n, d, k, maybe = 0, must = 0;
    double e, temp;
    cin >> n >> e >> d;
    for (int i = 0; i < n; i++) {
        cin >> k;
        //累计小于e的次数sum,如果sum > (k / 2)
        //表示超过一半的日子低于阈值e,说明可能空置
        int sum = 0;
        for (int j = 0; j < k; j++) {
            cin >> temp;
            if (temp < e) sum++;
        }
        //再判断观察期k是否大于d
        if(sum > (k / 2)) {
            k > d ? must++ : maybe++;
        }
    }
    double mayberesult = (double)maybe / n * 100;
    double mustresult = (double)must / n * 100;
    printf("%.1f%% %.1f%%", mayberesult, mustresult);
    return 0;
}
上一篇:拿 C# 搞函数式编程 - 2


下一篇:linux 解决Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?