hdu acmsteps 2.1.3 cake
2011-08-06 20:18
281 查看
举个例子:4 6,用一个矩形来切割,如下图
蓝色点线表示4等分线 红色实线表示6等分线,让蛋糕(矩形)可以平分为4份需要(4刀)和6份需要(6刀),总共需要10刀,但因为其中有两条线是重合的,没有必要切两次,所以应该减掉这两刀,就只剩下
10-2=8刀了。对于任何p和q,他们重合的线的数量就是他们的GCD,所以就~~~~~
看完题 一点思路都没有 看了这个基本明白了。。解释的很巧妙。。所以先转载过来,公式是p+q-gcd(p,q)
源地址:http://hi.baidu.com/yzy%D1%EE%D7%D3%D1%DC/blog/item/d1ee96be84e1f20018d81f46.html/cmtid/d63e8e3e91fdcecd7c1e714b
代码很简单:
蓝色点线表示4等分线 红色实线表示6等分线,让蛋糕(矩形)可以平分为4份需要(4刀)和6份需要(6刀),总共需要10刀,但因为其中有两条线是重合的,没有必要切两次,所以应该减掉这两刀,就只剩下
10-2=8刀了。对于任何p和q,他们重合的线的数量就是他们的GCD,所以就~~~~~
看完题 一点思路都没有 看了这个基本明白了。。解释的很巧妙。。所以先转载过来,公式是p+q-gcd(p,q)
源地址:http://hi.baidu.com/yzy%D1%EE%D7%D3%D1%DC/blog/item/d1ee96be84e1f20018d81f46.html/cmtid/d63e8e3e91fdcecd7c1e714b
代码很简单:
#include <iostream> #include <stdio.h> using namespace std; int gcd(int a,int b) { if(b==0)return a; else return gcd(b,a%b); } int main() { int p,q; while(cin>>p>>q) { cout<<p+q-gcd(p,q)<<endl; } return 0; }
相关文章推荐
- hdu acmsteps 2.1.3 Cake
- ACM--steps--2.1.3--CAKE
- hdu acm steps 2.1.3
- HDOJ--ACM-Steps--2.1.3--Cake(GCD,简单数学)
- HDU ACMSteps 1.3.3:: Tian Ji ——The Horse Racing
- hdu acmsteps 2-1-3相遇周期
- HDU 4454 Stealing a Cake 第37届ACM/ICPC 杭州赛区 B题(三分法)
- hdu acmsteps 2.1.2 How many prime numbers
- hdu ACM steps 1.3.4 hdu 2561
- hdu ACM Steps 1.3.5 排序
- HDU ACM Steps攻略 ACM Steps的全部内容
- hdu 4762 Cut the Cake 概率(2013 ACM/ICPC Asia Regional Changchun Online 1004)
- HDU ACM Steps 1.2.1 hide handkerchief
- [小结]HDU ACM Steps
- hdu acm steps 2.1.1
- hdu acm steps 2.2.1
- hdu ACM steps 1.2.5 hdu3188
- hdu acm steps 2.1.2
- hdu acm steps 2.2.2
- hdu 1071 ACM steps The area