日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

PAT1053 住房空置率 (20 分)

發布時間:2024/2/28 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PAT1053 住房空置率 (20 分) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

心得

這么簡單的題,做了倆小時啊。

第一個小時用來發現第前兩個個誤解題意的地方,第二個小時用來發現第三個誤解題意的地方。

一直有兩個測試用例不通過,改來改去,最后直接對比別人的代碼,一行一行改啊。

還是那句話:
仔細讀題!!!
仔細讀題!!!
仔細讀題!!!

這題有幾個坑,都是讀題不仔細造成的:
(1) 邊界問題,“超過”,“低于”都是沒有等號的
(2)“可能空置”和“空置”是互斥的,一個房子不可能同時具有這兩種屬性
(3)每一行開頭已經給出這一行的總個數了,不需要自己判斷、分割數字
(4)若觀察期超過某給定閾值 D 天,是“觀察期”,不是“可能空置”期!

其實沒有必要定義class,讀取一個數據,就判斷一個數據即可。甚至都不需要數組。

題目

#include<iostream> using namespace std; class Room { public:double power[1000] = { 0 };double days = 0;int freeDays=0;bool mayFreeRoom = false;bool freeRoom = false; }; int main() {double totalRoom;double minPower;double minDay;cin >> totalRoom >> minPower >> minDay;//輸入Room room[1000];int i,j;int curDay = 0;getchar();//吸收回車for (i = 0; i < totalRoom;i++){cin >> room[i].days;for (j = 0; j < room[i].days; j++){cin >> room[i].power[j];}}//判斷for (i = 0; i < totalRoom; i++){for (j = 0; j < room[i].days; j++){if (room[i].power[j] < minPower){room[i].freeDays++;}}if (room[i].freeDays > room[i].days/2)//可能空閑{if (room[i].days > minDay)//空閑{room[i].freeRoom = true;}else room[i].mayFreeRoom = true;}}//計算double totalMayFree=0;double totalFree=0;for (i = 0; i < totalRoom; i++){if (room[i].mayFreeRoom == true){totalMayFree++;}if (room[i].freeRoom == true){totalFree++;}}//printf("%.1lf%% %.1lf%%", 100.0*totalMayFree / totalRoom, 100.0*totalFree / totalRoom);printf("%.1lf%% %.1lf%%\n", (double)(totalMayFree / totalRoom) * 100.0, (double)(totalFree / totalRoom) * 100.0);system("pause"); } 超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的PAT1053 住房空置率 (20 分)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。