最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【藍橋杯學習記錄】分巧克力

2022-03-25 16:52 作者:長舟泛歌  | 我要投稿

一、題目

兒童節(jié)那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友們。小明一共有N塊巧克力,其中第i塊是 Hi ×Wi 的方格組成的長方形。為了公平起見,小明需要從這 N 塊巧克力中切出 K 塊巧克力分給小朋友們。切出的巧克力需要滿足:
1.形狀是正方形,邊長是整數(shù);
2.大小相同;
例如一塊 6x5 的巧克力可以切出 6 塊 2x2 的巧克力或者 2 塊 3x3 的巧克力。當然小朋友們都希望得到的巧克力盡可能大,你能幫小明計算出最大的邊長是多少么?
第一行包含兩個整數(shù)N,K
以下 N 行每行包含兩個整數(shù) H_i,W_i
輸出切出的正方形巧克力最大可能的邊長。

二、解題思路

循環(huán)邊長,開始采用的是邊長從2到100000,但是會超時,所以用二分查找。

畫圖可知(如圖一),每一塊巧克力的長和寬除以邊長再乘起來就是這塊巧克力再這個邊長下可以分出來的塊數(shù),

圖1

所以再循環(huán)每個巧克力,將分出來的塊數(shù)相加,如果大于K(小孩子的人數(shù)),那么就可以,設置一個imax接收這個值,然后再去找更大的值,即讓first=mid+1,直到找到最大。否則tail=mid-1,去看看小的數(shù)里面有沒有滿足條件的

三、完整代碼

四、出現(xiàn)問題

出現(xiàn)的問題就是開始沒想到二分查找,還有就是二分查找的時候將tail=mid-1寫的tail=mid,導致循環(huán)無法退出,還有一個問題是開始想讓tail=每個巧克力長和寬中的最大值,但是我把tail=max(H[i],W[i])寫到了接收巧克力長和寬的循環(huán)里,這樣肯定是不對的,tial應該再和tail的值再作比較。



【藍橋杯學習記錄】分巧克力的評論 (共 條)

分享到微博請遵守國家法律
上杭县| 霍山县| 当涂县| 囊谦县| 岱山县| 清流县| 项城市| 陇西县| 永登县| 天柱县| 阜新| 江达县| 海城市| 涿州市| 西峡县| 乐业县| 安溪县| 枣强县| 清流县| 禄丰县| 麟游县| 江城| 达孜县| 子长县| 吉木萨尔县| 托里县| 攀枝花市| 兴义市| 盐源县| 简阳市| 营山县| 荥经县| 茂名市| 娄烦县| 关岭| 竹山县| 威宁| 南陵县| 磐安县| 枞阳县| 海丰县|