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 |
发个代码以供娱乐~#include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #define maxn 200001 long long holy_shit[maxn],naga_siren[maxn],farm_roshan[maxn],billzard_cannon[maxn]; long long n,ans,cD_zhou_YY,c,ice_frog; bool flag=false; long long first_blood(long long a,long long b,long long &x,long long &y){ if(b==0) return x=1,y=0,a; long long res=first_blood(b,a%b,x,y); long long t=x; x=y,y=t-(a/b)*y; return res; } long long rampage(long long a,long long b,long long n){ long long d,x,y,e; d=first_blood(a,n,x,y); if(b%d!=0) return -1; e=x*(b/d)%n; return (e+n)%n; } long long wicked_sick(long long a,long long b){ long long ans,x,y; ans=first_blood(a,b,x,y); return (a/ans)*b; } int main(){ for(;scanf("%I64d",&n)!=EOF;ans=1,flag=false,ice_frog=0){ for(int i=1;i<=n;i++) scanf("%I64d%I64d",&holy_shit[i],&naga_siren[i]); farm_roshan[1]=naga_siren[1],billzard_cannon[1]=holy_shit[1]; for(int i=2;i<=n;i++){ ice_frog=rampage(billzard_cannon[i-1],naga_siren[i]-farm_roshan[i-1],holy_shit[i]); if(ice_frog+1==0){ flag=true; continue; } cD_zhou_YY=wicked_sick(billzard_cannon[i-1],holy_shit[i]); c=farm_roshan[i-1]+billzard_cannon[i-1]*ice_frog; farm_roshan[i]=c,billzard_cannon[i]=cD_zhou_YY; } printf("%I64d\n",((flag)?(-1):((c+cD_zhou_YY)%cD_zhou_YY))); } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator