| ||||||||||
| 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 | |||||||||
谁帮我看看这个,用递归做的,"Wrong Answer"#include<iostream.h>
int main(){
long int x,y,m,n,l,z,d,count;
long f(long,long,long);
cin>>x>>y>>m>>n>>l;
z=(y-x)%l;
if(z){
if(m==n){
count=-1;
}
else{
if(n>m){
z=l-z;
d=(n-m)%l;
}
else
d=(m-n)%l;
count=f(z,d,l);
}
}
else
count=0;
if(count<0)cout<<"Impossible"<<endl;
else cout<<count<<endl;
return 0;
}
long f(long z,long d,long l){
long count,k;
if(d){
if(z%d==0){
count=z/d;
return count;
}
else {
long d0=d;
long z0=z;
z=d0-z%d0;
d=l%d0;
k=f(z,d,d0);
if(k>0)
count=(z0+k*l)/d0;
else
return -1;
return count;
}
}
else
return -1;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator