藍橋杯第八屆省賽本科B組C C 第九題 分巧克力

2021-09-13 10:06:17 字數 1073 閱讀 4280

兒童節那天有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

二分答案

我們統計出最大的邊長  從1到mx  二分+驗證

複雜度o(nlogn)

注意 驗證方法:

h*w的長方形 能劃分出幾個 x*x 的正方形呢  答案是 (h/x)*(w/x)   除法是整除

#include#include#include#includeusing namespace std;

typedef struct node;

const int maxn=1e5+7;

node a[maxn];

int n,k,mx=-1;

bool check(int x)

int main()

//二分答案

int l=1,r=mx,ans;

while(l<=r)

else

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

return 0;

}

藍橋杯第八屆省賽

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

等差素數列 第八屆藍橋杯B組(省賽)

2,3,5,7,11,13,是素數序列。類似 7,37,67,97,127,157 這樣完全由素數組成的等差數列,叫等差素數數列。上邊的數列公差為30,長度為6。2004年,格林與華人陶哲軒合作證明了 存在任意長度的素數等差數列。這是數論領域一項驚人的成果!長度為10的等差素數列,其公差最小值是多少...

第八屆藍橋杯C C 程式設計B組省賽第六題

problem description 最大公共子串 最大公共子串長度問題就是 求兩個串的所有子串中能夠匹配上的最大長度是多少。比如 abcdkkk 和 baabcdadabc 可以找到的最長的公共子串是 abcd 所以最大公共子串長度為4。下面的程式是採用矩陣法進行求解的,這對串的規模不大的情況還...