• PAT 1053. 住房空置率 (20)


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

    • 在观察期内,若存在超过一半的日子用电量低于某给定的阈值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户为“空置”,其他户不是空置。)

  • 相关阅读:
    WPF简单的分页控件实现
    WPF常用样式总结
    树:重建二叉树
    从尾到头打印链表
    字符串替换空格
    二维数组中的查找
    C#中转换运算符explicit、implicit、operator、volatile研究
    泛型实现常用算法
    .NET架构师知识普及
    .NET中扩展方法和Enumerable(System.Linq)
  • 原文地址:https://www.cnblogs.com/lolybj/p/6392298.html
Copyright © 2020-2023  润新知