题目链接:1053 住房空置率 (20 point(s))

题目描述

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

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

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

输入格式

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

K E​1​​ E​2​​ … E​K​​

其中 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%

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

Java代码

/**********************************************************************************
Submit Time Status Score Problem Compiler Run Time User
8/15/2019, 20:44:22 Accepted 20 1053 Java (openjdk) 345 ms wowpH
**********************************************************************************/
import java.io.BufferedReader;
import java.io.InputStreamReader; public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] str = br.readLine().split(" "); // N,e,D
int N = Integer.parseInt(str[0]); // 住房总套数
double e = Double.parseDouble(str[1]); // 低电量阈值
int D = Integer.parseInt(str[2]); // 观察期阈值 int maybeVacancy = 0, vacancy = 0; // “可能空置”住房数,“空置”住房数
for (int i = 0; i < N; ++i) {
str = br.readLine().split(" ");
int K = Integer.parseInt(str[0]); // 观察的天数(观察期)
int num = 0; // 第i套住房的低于阈值e的天数
for (int j = 1; j <= K; ++j) { // K天
double E = Double.parseDouble(str[j]);// 第j天的用电量
if (E < e) { // 低于阈值
++num; // 天数加1
}
}
if (num > (K / 2)) { // 低于阈值的天数超过观察期的一半
if (K > D) { // 观察期超过观察期阈值
++vacancy; // “空置”住房数加1
} else {
++maybeVacancy; // “可能空置”住房数加1
}
}
}
System.out.printf("%.1f", maybeVacancy * 100.0 / N);// 一位小数
System.out.print("% ");
System.out.printf("%.1f", vacancy * 100.0 / N);
System.out.println("%");
}
}

提交结果

最新文章

  1. git 指令
  2. .frm,.myd,myi转换为.sql导入数据库
  3. java中 几种数据库连接池 的写法
  4. SqlParameter设定value为0却变成null
  5. web api post传一个参数时 值永远是null
  6. Makefile学习笔记
  7. 数据库(学习整理)----4--Oracle数据查询(基础点1)
  8. hdu_5585_Less Time, More profit(二分+最大权闭合图)
  9. Python 一等函数
  10. hive 集成 hbase NoClassDefFoundError: org/apache/htrace/Trace
  11. gdb core 调试多线程
  12. Zookeeper运维问题集锦
  13. Application对象及常用方法
  14. python基础知识12---函数2
  15. .NET-记一次架构优化实战与方案-前端优化
  16. Codeforces 1045G AI robots [CDQ分治]
  17. CF1066D Boxes Packing
  18. [UE4]Grid Panel
  19. TDD - 登录成功和失败
  20. win10 .net framework 3.5无法安装错误代码0x800F081F

热门文章

  1. 覆盖elementui样式
  2. 深度学习面试题25:分离卷积(separable卷积)
  3. sass登陆页面实例
  4. python 图形
  5. PHP如何解决网站大流量与高并发的问题(四)
  6. MySQL枚举类型enum字段在插入不在指定范围的值时, 是否是&quot;插入了enum的第一个值&quot;?
  7. Python3基础 keyword 查看所有的关键字
  8. mysql登录指令
  9. matlab优化函数fminunc
  10. centos7 gcc升级