HDU 1722 Cake

#include<cstdio>  
int gcd(int m, int n)  
{  
    return m==0?n:gcd(n % m, m);  
}  
  
int main()  
{  
    int m, n;  
    while(scanf("%d%d",&m,&n)!=EOF)  
    {  
        printf("%d\n", m + n - gcd(m, n));  
    }  
    return 0;  
}  

题解:考虑切蛋糕为q块需要q刀,p块需要p刀,但是两者切痕有重叠,重叠部分为两者的最大公约数,所以问题就迎刃而解了。

posted @ 2013-12-27 15:09  forever97  阅读(112)  评论(0编辑  收藏  举报