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刀,但是两者切痕有重叠,重叠部分为两者的最大公约数,所以问题就迎刃而解了。

你可能感兴趣的:(HDU)