當(dāng)前位置:
首頁 >
hdu1722 切蛋糕
發(fā)布時間:2025/6/17
39
豆豆
生活随笔
收集整理的這篇文章主要介紹了
hdu1722 切蛋糕
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題意:
Cake
Time Limit: 1000/1000 MS (Java/Others) ? ?Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1878 ? ?Accepted Submission(s): 943
Problem Description
一次生日Party可能有p人或者q人參加,現(xiàn)準(zhǔn)備有一個大蛋糕.問最少要將蛋糕切成多少塊(每塊大小不一定相等),才能使p人或者q人出席的任何一種情況,都能平均將蛋糕分食.?
Input
每行有兩個數(shù)p和q.
Output
輸出最少要將蛋糕切成多少塊.
Sample Input
2 3
?
Sample Output
4
Hint將蛋糕切成大小分別為1/3,1/3,1/6,1/6的四塊即滿足要求.
當(dāng)2個人來時,每人可以吃1/3+1/6=1/2 , 1/2塊。
當(dāng)3個人來時,每人可以吃1/6+1/6=1/3 , 1/3, 1/3塊。
思路:
Cake
Time Limit: 1000/1000 MS (Java/Others) ? ?Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1878 ? ?Accepted Submission(s): 943
Problem Description
一次生日Party可能有p人或者q人參加,現(xiàn)準(zhǔn)備有一個大蛋糕.問最少要將蛋糕切成多少塊(每塊大小不一定相等),才能使p人或者q人出席的任何一種情況,都能平均將蛋糕分食.?
Input
每行有兩個數(shù)p和q.
Output
輸出最少要將蛋糕切成多少塊.
Sample Input
2 3
?
Sample Output
4
Hint將蛋糕切成大小分別為1/3,1/3,1/6,1/6的四塊即滿足要求.
當(dāng)2個人來時,每人可以吃1/3+1/6=1/2 , 1/2塊。
當(dāng)3個人來時,每人可以吃1/6+1/6=1/3 , 1/3, 1/3塊。
思路:
? ? ? 題目挺簡單的,假設(shè)p>=q我們想像下,首先我們拿來一個蛋糕,然后把它平均切成p塊,接下來的任務(wù)就是在把已經(jīng)切了的蛋糕在切成q塊,假設(shè)之前沒有切過蛋糕肯定是切成q塊,但蛋糕上已經(jīng)有了一些切過的痕跡,我們要得到盡量少的塊數(shù)就得盡量的的利用這些切過的位置少切幾刀,我們最多能用的就是p,q的最大公約數(shù)那么多,所以 ans = p + q - Gcd(p ,q),挺簡單的,要是不明白畫畫圖就知道了...
#include<stdio.h> int Gcd(int a ,int b) {return b == 0 ? a : Gcd(b ,a % b); }int main () {int p ,q;while(~scanf("%d %d" ,&p ,&q)){printf("%d\n" ,p + q - Gcd(p ,q));}return 0; }
總結(jié)
以上是生活随笔為你收集整理的hdu1722 切蛋糕的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hdu3768 spfa+全排列
- 下一篇: hdu4450 不错的贪心