码迷,mamicode.com
首页 > 其他好文 > 详细

PAT 1053. 住房空置率 (20)

时间:2017-02-13 08:28:35      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:pre   str   小数点   判断   统计   for   logs   strong   连续   

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

  • 在观察期内,若存在超过一半的日子用电量低于某给定的阈值e,则该住房为“可能空置”;
  • 若观察期超过某给定阈值D天,且满足上一个条件,则该住房为“空置”。

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

输入格式:

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

K E1 E2 ... EK

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

输出格式:

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

输入样例:

5 0.5 10
6 0.3 0.4 0.5 0.2 0.8 0.6
10 0.0 0.1 0.2 0.3 0.0 0.8 0.6 0.7 0.0 0.5
5 0.4 0.3 0.5 0.1 0.7
11 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1
11 2 2 2 1 1 0.1 1 0.1 0.1 0.1 0.1
 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<stdlib.h>
 4 #include<ctype.h>
 5 #include<math.h>
 6 
 7 int main(){
 8     int n,d;
 9     double e;
10     scanf("%d %lf %d",&n,&e,&d); 
11     int k;
12     int h1=0,h2=0,n1;
13     double temp;
14     for(int i=0;i<n;i++){
15         scanf("%d",&k);
16         n1 = 0;
17         for(int j=0;j<k;j++){
18             scanf("%lf",&temp);
19             if(temp<e){
20                 n1++;
21             }
22         }
23         if(k/2<n1){
24             if(k>d)
25                 h2++;
26             else
27                 h1++;
28         }
29     }
30     printf("%.1lf%% %.1lf%%",(double)h1/n*100,(double)h2/n*100);    
31 } 

 

输出样例:

40.0% 20.0%

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

 

PAT 1053. 住房空置率 (20)

标签:pre   str   小数点   判断   统计   for   logs   strong   连续   

原文地址:http://www.cnblogs.com/lolybj/p/6392298.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!