200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > PAT乙级1053题解

PAT乙级1053题解

时间:2021-04-20 22:29:37

相关推荐

PAT乙级1053题解

题目详情:

1053 住房空置率 (20 分)

在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断。判断方法如下:

在观察期内,若存在超过一半的日子用电量低于某给定的阈值 e,则该住房为“可能空置”;

若观察期超过某给定阈值 D 天,且满足上一个条件,则该住房为“空置”。

现给定某居民区的住户用电量数据,请你统计“可能空置”的比率和“空置”比率,即以上两种状态的住房占居民区住房总套数的百分比。

输入格式:

输入第一行给出正整数 N(≤1000),为居民区住房总套数;正实数 e,即低电量阈值;正整数 D,即观察期阈值。随后 N 行,每行按以下格式给出一套住房的用电量数据:

K E​1​​ E​2 … E​K

其中 K 为观察的天数,E​i为第 i 天的用电量。

输出格式:

在一行中输出“可能空置”的比率和“空置”比率的百分比值,其间以一个空格分隔,保留小数点后 1 位。

输入样例:

5 0.5 106 0.3 0.4 0.5 0.2 0.8 0.610 0.0 0.1 0.2 0.3 0.0 0.8 0.6 0.7 0.0 0.55 0.4 0.3 0.5 0.1 0.711 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.111 2 2 2 1 1 0.1 1 0.1 0.1 0.1 0.1

输出样例:

40.0% 20.0%

(样例解释:第2、3户为“可能空置”,第4户为“空置”,其他户不是空置。)

解答:

#include <iostream>#include <string>#include <vector>using namespace std;int main(){int N, D; double e;cin >> N >> e >> D;double cnt1 = 0, cnt2 = 0;for(int i = 0; i < N; i++) {int n, cnt = 0, flag = 0;double temp;cin >> n;for(int j = 0; j < n; j++) {cin >> temp;if(temp < e) cnt++;}if(cnt > n / 2) flag = 1;if(flag == 1 && n > D) {flag = 2; cnt2++;}if(flag == 1) cnt1++;}double t1 = cnt1 / N * 100;double t2 = cnt2 / N * 100;printf("%.1f", t1);cout << '%' << ' ';printf("%.1f", t2);cout << '%';return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
PAT乙级1025题解

PAT乙级1025题解

2021-08-30

pat乙级 1006 题解

pat乙级 1006 题解

2019-12-25

PAT乙级1034题解

PAT乙级1034题解

2024-03-19

PAT乙级题解

PAT乙级题解

2018-10-12