题目

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

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

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

输入格式:

输入第一行给出正整数 N(≤1000),为居民区住房总套数;正实数 e,即低电量阈值;正整数 D,即观察期阈值。随后 N 行,每行按以下格式给出一套住房的用电量数据:
K E​1 E​2 … EK
​​
其中 K 为观察的天数,E​i为第 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%

分析

  • 逻辑很简单,直接模拟就可以了。
  • 坑点1:使用函数判断某套住户的类型时,一定要把函数返回值赋值给一个变量,再把这个变量和"空置"或者"可能空置"比较。因为如果直接调用函数返回值来比较,会多次执行函数,由于测试数据是在函数中读入的,所以会将下一次的测试数据读入而错误。
  • 坑点2:输出格式,使用C输出的话%号前面要再加一个%;使用C++输出使用fixed关键字和setprecision函数。代码里给出了两种语言的实现。
  • 坑点3:结果计算,要先做强制转换,然后乘以100。

AC代码

#include <iostream>
#include<iomanip>
#include<cstdio>
using namespace std;
int main()
{string judge_type(int k,double e,int d);int i,n,k,d,a=0,b=0;double e;cin>>n>>e>>d;for(i=0;i<n;i++){cin>>k;/*错误写法:if(judge_type(k,e,d)=="可能空置")a++;if(judge_type(k,e,d)=="空置")b++;*/string str=judge_type(k,e,d);if(str=="可能空置")a++;if(str=="空置")b++;}//C-versionprintf("%.1lf%%",(double)a/n*100);printf(" %.1lf%%",(double)b/n*100);//C++-version//cout<<fixed<<setprecision(1)<<(double)a/n*100<<"%";//cout<<fixed<<setprecision(1)<<(double)b/n*100<<"%";return 0;
}
string judge_type(int k,double e,int d)
{int i,count=0;double use;for(i=0;i<k;i++){cin>>use;if(use<e) count++;}if(2*count>k){if(k>d) return "空置";return "可能空置"; }return "未空置";
}

更多题解
PAT 乙级(Basic Level) 题解汇总(持续更新)(C++)

1053 住房空置率(PAT乙级 C++ 坑点分析)相关推荐

  1. 1053 住房空置率 (20 分)

    1053 住房空置率 (20 分) 在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断.判断方法如下: 在观察期内,若存在超过一半的日子用电量低于某给定的阈值 e,则 ...

  2. 1053 住房空置率

    1053 住房空置率 (20 分) 在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断.判断方法如下: 在观察期内,若存在超过一半的日子用电量低于某给定的阈值 e,则 ...

  3. PAT乙级—1053. 住房空置率 (20)-native

    在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断.判断方法如下: 在观察期内,若存在超过一半的日子用电量低于某给定的阈值e,则该住房为"可能空置" ...

  4. 1053. 住房空置率 (20)-PAT乙级真题

    在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断.判断方法如下: 在观察期内,若存在超过一半的日子用电量低于某给定的阈值e,则该住房为"可能空置" ...

  5. 【简洁代码】1053 住房空置率 (20分)_22行代码AC

    立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断.判断方法如下: 在观察期内 ...

  6. 1053 住房空置率 测试点12

    在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断.判断方法如下: 在观察期内,若存在超过一半的日子用电量低于某给定的阈值 e,则该住房为"可能空置&quo ...

  7. 1053. 住房空置率 (20)

    在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断.判断方法如下: 在观察期内,若存在超过一半的日子用电量低于某给定的阈值e,则该住房为"可能空置" ...

  8. 1053 住房空置率 (20分)

    在不打扰居民的前提下,统计住房空置率的一种方法是根据每户用电量的连续变化规律进行判断.判断方法如下: 在观察期内,若存在超过一半的日子用电量低于某给定的阈值 e,则该住房为"可能空置&quo ...

  9. 「PAT乙级真题解析」Basic Level 1053 住房空置率 (问题分析+完整步骤+伪代码描述+提交通过代码)

    乙级的题目训练主要用来熟悉编程语言的语法和形成良好的编码习惯和编码规范.从小白开始逐步掌握用编程解决问题. PAT乙级BasicLevelPractice 1053 问题分析 题设要求统计符合住房空置 ...

最新文章

  1. 【springmvc+mybatis项目实战】杰信商贸-6.重点知识回顾
  2. RocketMQ的存储之消息的存储分析
  3. matlab中结束脚本运行_疫情当前,生活向前 | MATLAB 一直 Online 等你
  4. 【CodeForces - 264A】Escape from Stones (模拟,卡精度的处理)
  5. RabbitMQ消息队列简单异步邮件发送和订单异步处理实战【应用解耦】【异步削峰】
  6. xpath 取标签下所有文字内容_xpath提取目录下所有标签内的内容,递归 //text()...
  7. virtualbox ,centos 的多网卡如何设置
  8. 技术复习-java类加载机制
  9. java安装教程详细
  10. 系统分析员应具备的能力
  11. Failed to load project configuration: cannot parse file xxx Message: 前言中不允许有内容。
  12. Android 入门第九讲01-音频(本地音乐播放,暂停,继续播放,获取播放时间,快进到指定位置,变速播放,播放data/data/目录下的音频文件,播放网络歌曲)
  13. 有效 360 度反馈系统的关键
  14. 【读书】张萌作品:《人生效率手册:如何卓有成效地过好每一天》
  15. 光纤布线技术风暴——第一站:杭州
  16. 软件测试有哪些常用的测试方法?
  17. C 水仙花数 一个3位数,其中各位数字立方和等于该数本身
  18. JavaScript 数组排序,随机排序,查找最大(最小)值,对象属性进行排序
  19. Cisco 交换、路由和无线基础期末考试答案
  20. Linux如何学(新手入门必看)

热门文章

  1. 高级Lucene查询示例
  2. 21世纪的设计模式:抽象工厂模式
  3. 部署到Maven中央存储库
  4. 在JDT中使用Java 8 Lambda
  5. 一日三项令人兴奋的Lucene功能
  6. JPA – Hibernate –包级别的类型映射
  7. 谁在偷你的记忆? 应用服务器版
  8. 在Vaadin和JSF之间选择
  9. linux下如何查看主机是否安装了ftp server
  10. HH SaaS电商系统的物流单设计