码迷,mamicode.com
首页 > 其他好文 > 详细

vijos 1009 清帝之惑之康熙

时间:2017-06-05 23:48:43      阅读:324      评论:0      收藏:0      [点我收藏+]

标签:gcd   https   好的   blank   htm   math   href   中国   hit   

清帝之惑之康熙

背景

康熙是中国历史乃至世界历史中最伟大的帝王之一,清除螯拜,撤除三藩,统一台湾,平定准葛尔叛乱;与此同时,出众的他也被世界各国遣清使臣所折服。康熙是历史上少有的全人,不仅文武兼得,而且在各各方面都有见地,比如说航海、数学、英语、构图、建筑等等。一个最好的例子可以证明:康熙当年演算代数题的草稿纸至今仍然保存完好。

话说康熙掌权之后,每天都抽空做数学题,特别是无聊题。这些天,某某老师开始教他做一些奇怪的题目。在第一节课的时候,老师就问了康熙一个超BT的题目:

描述

话说西汉时期,汉武帝刘彻派遣张骞出使西域,欲同月氏国结交而共驱匈奴。同时,月氏国也欲同大汉结交,也派出使者康破伦出使大汉,可是因为月氏国对于大汉的认知甚少,康破伦同样向西出使大汉。一开始,张骞从大汉出发,康破伦从月氏国出发,两人都在同一纬度线上,张骞所处的经度为x,康破伦所处的经度为y;接下来,两人同时向西走,而且只能向西走,张骞每天走m公里,康破伦每天走n公里,且每天走路的速度不变,也不停下来休息;这样两人就在这一条长为L的纬度线上一直向西走。问:过了多少天之后张骞和康破伦会碰面,并磋商两国结交之事(所谓碰面,是指在经过了完整的若干天之后两人处在同一经度上,也就是说存在一个天数d,使得张骞从x出发走了d\times md×m公里后与康破伦从y出发走了d\times nd×n公里后在同一个位置)。

这下,康熙犯难了,他还是个不大的青年,怎么可能做得出这么难的题目;但是,他又是统领全国的帝皇,怎么能在老师面前丢这么大一个面子。康熙想:不行!一定得把这个题做出来!(然后就有了下面这段记录)
第一天,……
第二天,…………
第三天,………………
第四天,……………………
第五天,…………………………
第六天,………………………………
第七天,……………………………………!!!!!!!
啊!第七天,康熙终于打了7个感叹号,得出了一个重要的结论!!!!!那就是——做不出来。(汗),没办法,他只有请教你,他的挚友,帮他解决这一难题。康熙答应你,如果你把这一题做出来了,你将得到御赐赏银一万万mod1两!-。为了改变你生活的现状——衣衫褴褛、闻鼠起舞、蟑螂为伴,你下定了决心——我一定得把这题解决!

格式

输入格式

输入只包括一行5个整数x,y,m,n,L
其中0<x≠y < =2000000000,0 < m、n < =2000000000,0 < L < =2100000000。

输出格式

输出碰面所需要的天数,如果永远不可能碰面则输出一行"Impossible"。

样例1

样例输入1

1 2 3 4 5

样例输出1

4

限制

各个测试点2s

来源

From PKU 1061
本题比PKU上原题的数据更强,请注意**题目中并没有保证x<=y或m<=n

 

exgcd水之

喜闻乐见的Code

#include<cstdio>
#include<cmath> 
using namespace std;
typedef long long ll;
void exgcd(ll a,ll b,ll &d,ll &x,ll &y) {
	if(!b) d=a,x=1,y=0;
	else {exgcd(b,a%b,d,y,x);y-=x*(a/b);}
	return;
}
int main() {
	ll x,y,m,n,l;
	scanf("%lld%lld%lld%lld%lld",&x,&y,&m,&n,&l);
	ll a=((n-m)%l+l)%l,b=l,c=((x-y)%l+l)%l,d;
	exgcd(a,b,d,x,y);
	if(c%d) printf("Impossible");
	else {
		ll a1=x*(c/d),a2=abs(l/d);
		while(a1<0) a1+=a2;
		while(a1-a2>=0) a1-=a2;
		printf("%lld",a1);
	}
	return 0;
}

  

vijos 1009 清帝之惑之康熙

标签:gcd   https   好的   blank   htm   math   href   中国   hit   

原文地址:http://www.cnblogs.com/NuclearSubmarines/p/6936203.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!