| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:大牛指教…………不解In Reply To:大牛指教…………不解 Posted by:yuanluliao at 2010-07-21 10:57:55 > #include<stdio.h>
> struct triple
> {
> __int64 d,x,y;
> };
> __int64 mod(__int64 a,__int64 b)
> {
> return (a%b+b)%b;
> }
> struct triple Extended_Euclid(__int64 a,__int64 b)
> {
> struct triple res;
> if(b==0)
> {
> res.d=a;
> res.x=1;
> res.y=0;
> }
> else
> {
> struct triple ee=Extended_Euclid(b,mod(a,b));
> res.d=ee.d;
> res.x=ee.y;
> res.y = ee.x - (a/b)*ee.y;
> }
> return res;
> }
> __int64 MLES(__int64 a,__int64 b,__int64 l)
> {
> struct triple res;
> res=Extended_Euclid(a,l);
> if(mod(b,res.d) == 0)
> return mod((res.x*(b/res.d)),l/res.d);
> else
> return -1;
> }
> int main()
> {
> __int64 x,y,m,n,l;
> while(scanf("%I64d%I64d%I64d%I64d%I64d",&x,&y,&m,&n,&l)!=EOF)
> {
> __int64 res;
> res=MLES(m-n,y-x,l);
> if(res<0)
> printf("Impossible\n");
> else
> printf("%I64d\n",res);
> /*
> if(res>=0)
> printf("%I64d\n",res);
> else
> printf("Impossible\n");
> 就错了,上面的却ac了,为什么啊
> */
> }
> return 0;
> }
这哪里出错啊?我怎么没看出来啊?看来我真的很菜啊
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator