2017河南省B組藍橋杯真題 1 分巧克力

2021-08-17 17:36:57 字數 1479 閱讀 4603

兒童節那天有

k位小朋友到小明家做客

。小明拿出了珍藏的巧克力招待小朋友們

。小明一共有

n塊巧克力

,其中第i塊是

hi x wi

的方格組成的長方形

。為了公平起見

,小明需要從這

n 塊巧克力中切出

k塊巧克力分給小朋友們

。切出的巧克力需要滿足

:1.

形狀是正方形

,邊長是整數

2. 大小相同

例如一塊

6x5的巧克力可以切出6塊

2x2的巧克力或者2塊

3x3的巧克力

。當然小朋友們都希望得到的巧克力盡可能大

,你能幫小

hi計算出最大的邊長是多少麼?輸入

第一行包含兩個整數n和

k。(1 <= n, k <= 100000)  以下n

行每行包含兩個整數hi和

wi。(1 <= hi, wi <= 100000)

輸入保證每位小朋友至少能獲得一塊

1x1的巧克力

。  

輸出輸出切出的正方形巧克力最大可能的邊長

。樣例輸入

:2 10  

6 5  

5 6 

樣例輸出:2

資源約定

:峰值記憶體消耗

(含虛擬機器

) < 256m

cpu消耗

< 1000ms

請嚴格按要求輸出

,不要畫蛇添足地列印類似

:「請您輸入

...」

的多餘內容。注意

:main

函式需要返回

0;只使用

ansi c/ansi c++ 標準;

不要呼叫依賴於編譯環境或作業系統的特殊函式

。所有依賴的函式必須明確地在原始檔中

#include

不能通過工程設定而省略常用標頭檔案

。提交程式時

,注意選擇所期望的語言型別和編譯器型別。思路

:二分乙個切下的巧克力的邊長

,看看這

n塊巧克力在這種邊長下是否能夠切出來k塊

,如果能夠

,那麼嘗試增大邊長

,否則減少邊長

。複雜的

:n(log2n);

#includeconst int maxn = 100005;

int h[1000],x[1000];

int n,k;

int judge(int p,int y)

if(ans >= k)

return 0;

}int main()

int l = 1,r = maxn;

int cnt;

while(l <= r)

else

}printf("%d\n",cnt);

}}

2017河南省B組藍橋杯真題 1 方格分割

6x6 的方格,沿著格仔的邊線剪開成兩部分 要求這兩部分的形狀完全相同。如圖 p1.png,p2.png,p3.png 就是可行的分割法 試計算 包括這3 種分法在內 一共有多少種不同的分割方法。注意 旋轉對稱的屬於同一種分割法 請提交該整數 不要填寫任何多餘的內容或說明文字 include usi...

2017河南省B組藍橋杯真題 1 日期問題

小明正在整理一批歷史文獻 這些歷史文獻中出現了很多日期 小明知道這些日期都在 1960年1 月1日至2059年12 月31日。令小明頭疼的是 這些日期採用的格式非常不統一 有採用年 月 日的,有採用月 日 年的,還有採用日 月 年的。更加麻煩的是 年份也都省略了前兩位 使得文獻上的乙個日期 存在很多...

20180401第九屆藍橋杯省賽B組真題 1第幾天

注意 需要提交的是乙個整數,不要填寫任何多餘內容。手算都可以,這裡直接貼上2013年 高斯日記那道題了。輸入 2000 1 1 125即可。答案 125 project 2013 藍橋杯省賽 b組 填空題1 date 2018 03 18 author frank yu include includ...