【简洁代码】1053 住房空置率 (20分)_22行代码AC
立志用更少的代碼做更高效的表達
Pat乙級最優(yōu)化代碼+題解+分析匯總——>傳送門
在不打擾居民的前提下,統(tǒng)計住房空置率的一種方法是根據(jù)每戶用電量的連續(xù)變化規(guī)律進行判斷。判斷方法如下:
在觀察期內(nèi),若存在超過一半的日子用電量低于某給定的閾值 e,則該住房為“可能空置”;
若觀察期超過某給定閾值 D 天,且滿足上一個條件,則該住房為“空置”。
現(xiàn)給定某居民區(qū)的住戶用電量數(shù)據(jù),請你統(tǒng)計“可能空置”的比率和“空置”比率,即以上兩種狀態(tài)的住房占居民區(qū)住房總套數(shù)的百分比。
輸入格式:
輸入第一行給出正整數(shù) N(≤1000),為居民區(qū)住房總套數(shù);正實數(shù) e,即低電量閾值;正整數(shù) D,即觀察期閾值。隨后 N 行,每行按以下格式給出一套住房的用電量數(shù)據(jù):K E1 E2 … Ek
其中 K 為觀察的天數(shù),Ei為第 i 天的用電量。
輸出格式:
在一行中輸出“可能空置”的比率和“空置”比率的百分比值,其間以一個空格分隔,保留小數(shù)點后 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<bits/stdc++.h> using namespace std; int main() {ios::sync_with_stdio(false);int n, day; //n是個數(shù), day是最大天數(shù) double Max; //Max是閾值 cin >> n >> Max >> day;int May_yes = 0, yes = 0; //可能空置和空置 for(int i = 0; i < n; i++) {int m, num1 = 0; cin >> m;for(int i = 0; i < m; i++) {double x; cin >> x;if(x < Max) num1++;}if(num1 > m/2.0) {if(m > day) May_yes++;else yes++;} }printf("%.1f%% %.1f%%\n", (yes*100.0)/n, (May_yes*100.0)/n);return 0; }
耗時
每日一句
要么孤獨,要么庸俗。
總結
以上是生活随笔為你收集整理的【简洁代码】1053 住房空置率 (20分)_22行代码AC的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【最详细解析】1052 卖个萌 (20分
- 下一篇: 【最优解法】1054 求平均值 (20分