zoukankan      html  css  js  c++  java
  • PAT 乙级 1053 住房空置率 (20)

    1053. 住房空置率 (20)

    时间限制
    400 ms
    内存限制
    65536 kB
    代码长度限制
    8000 B
    判题程序
    Standard
    作者
    CHEN, Yue

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

    • 在观察期内,若存在超过一半的日子用电量低于某给定的阈值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
    
    输出样例:
    40.0% 20.0%
    

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

    思路:因为每个用户观察的天数不确定,所以用柔性数组来做比较节省内存

     1 // 1053.cpp : 定义控制台应用程序的入口点。
     2 //
     3 
     4 #include "stdafx.h"
     5 #include<iostream>
     6 #include<iomanip>
     7 
     8 using namespace std;
     9 
    10 struct user
    11 {
    12     int days;//柔性数组大小
    13     double ele[];//柔性数组
    14 };
    15 
    16 int main()
    17 {
    18     int N,D,may_empty=0,Empty=0,day;
    19     double e;
    20     user u;
    21 
    22     cin >> N >> e >> D;
    23 
    24     for (int i = 0; i < N; ++i)
    25     {
    26         cin >> u.days;
    27 
    28         double *p = new double[u.days];//为结构体的柔性数组分配空间
    29 
    30         day = 0;
    31 
    32         for (int j = 0; j < u.days; ++j)
    33         {
    34             cin >> p[j];
    35 
    36             if (p[j] < e)
    37                 ++day;
    38         }
    39 
    40         if (2 * day > u.days)//条件1
    41         {
    42             ++may_empty;
    43 
    44             if (D < u.days)//条件2
    45                 ++Empty;
    46         }
    47 
    48 
    49         delete[] p;
    50     }
    51 
    52     cout << setiosflags(ios::fixed) << setprecision(1) << 100.0 * (may_empty - Empty) / N << "% "
    53         << setiosflags(ios::fixed)<< setprecision(1) << 100.0 * Empty / N << "%" << endl;
    54 
    55     return 0;
    56 }
  • 相关阅读:
    D3D资源管理
    地形有必要做LOD吗?
    J2SE IO编程
    J2SE 枚举类型 [enum]
    Struts2 DefaultAction (默认Action)
    J2SE 内部类 [Inner]
    J2SE 断言 [Assert]
    JavaScript
    SCM_CVS_SVN 版本控制器
    Struts2 IncludeModules(包含 <include file="login.xml" />)
  • 原文地址:https://www.cnblogs.com/cdp1591652208/p/7238794.html
Copyright © 2011-2022 走看看