1053. 住房空置率 (20)
2016-07-28 23:54
344 查看
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
输出样例:
40.0% 20.0%
(样例解释:第2、3户为“可能空置”,第4户为“空置”,其他户不是空置。)
//边读取数据边处理
#include <stdio.h> #include <stdlib.h> int main() { int num;//the number of judge data int num1=0;//可能空置房子数 int num2=0;//空置数 double e; int D; scanf("%d%lf%d",&num,&e,&D); for(int i=1;i<=num;i++){ int count;//the days of this judge scanf("%d",&count); double *data; data=(double *)malloc(sizeof(double)*count); int sum=0;//the days which satisfy the case for(int j=0;j<count;j++){ scanf("%lf",&data[j]); if(data[j]<e) sum++; } if(sum>count/2){ if(count>D) num2++; else num1++; } free(data); } double rate1=(double)num1/num*100.0; double rate2=(double)num2/num*100.0; printf("%.1f%c %.1f%c\n",rate1,'%',rate2,'%'); return 0; }
相关文章推荐
- HDU 2553 <dfs求解N皇后问题>
- iOS开发进阶 - 隐藏UINavigationBar的小技巧
- 机器学习-监督学习-线性回归
- 转载 很好的ggplot文章
- 一点一点学maven(03)——maven的坐标、构件、仓库(中央仓库、镜像仓库、私服)使用
- Amazon S3和Swift鉴权机制分析
- iOS开发进阶 - 隐藏UINavigationBar的小技巧
- [LintCode] Simplify Path 简化路径
- ACM算法模板
- 多线程知识点简单总结
- Scala入门No.1
- 机器学习-入门介绍
- CVE-2012-0003 Microsoft Windows Media Player ‘winmm.dll’ MIDI文件解析远程代码执行漏洞 分析
- 关于java线程池和相关
- IDL出现% Program caused arithmetic error: Floating illegal operand 错误!!
- 进阶项目5-个税计算器之码数分离
- Closure表 冗余 小结
- for语句
- yum源配置EPEL
- android ExpandableTextView-自定义可以动态展开/收缩显示长文本的TextView