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:为什么还WA,测了N组数据都没问题In Reply To:为什么还WA,测了N组数据都没问题 Posted by:windbells at 2004-07-09 18:40:09 > #include<stdio.h> > #include<math.h> > int fn(long num) > { > if(num<=9) > return num; > else if(num<=189) > { > num-=10; > if(num%2==0) > return num/20+1; > else return (num%20-1)/2%10; > } > else if(num<=2889) > { > num-=190; > if(num%3==0) > return num/300+1; > else if((num-1)%3==0) > return (num%300-1)/30; > else if((num-2)%3==0) > return (num%300-2)%30/3; > } > else if(num<=38889) > { > num-=2890; > if(num%4==0) > return num/4000+1; > else if((num-1)%4==0) > return (num%4000-1)/400; > else if((num-2)%4==0) > return (num%4000-2)%400/40; > else if((num-3)%4==0) > return (num%4000-3)%40/4; > } > else > { > num-=38890; > if(num%5==0) > return num/50000+1; > else if((num-1)%5==0) > return (num%50000-1)/5000; > else if((num-2)%5==0) > return (num%50000-2)%5000/500; > else if((num-3)%5==0) > return (num%50000-3)%500/50; > else if((num-4)%5==0) > return (num%50000-4)%50/5; > } > } > long clj(int a1,unsigned long a,long b,int c) > { > long low=1,high=b,mid; > unsigned long sum,sum1; > while(low<=high) > { > mid=(low+high)/2; > if(mid<1000) > { > sum=(2*a1+c*(mid-1))*mid/2; > sum1=(2*a1+c*(mid-2))*(mid-1)/2; > } > else > { > sum=((2*a1+c*(mid-1))/2)*mid; > sum1=((2*a1+c*(mid-2))/2)*(mid-1); > } > if(a<=sum&&a>sum1) > return (a-sum1-1)%(a1+c*(mid-1))+1; > else if(sum>a) > high=mid-1; > else if(sum<a) > low=mid+1; > } > } > int main() > { > int t,ans; > unsigned long n; > long num; > scanf("%d",&t); > while(t--) > { > scanf("%lu",&n); > if(n<=45) > num=clj(1,n,9,1); > else if(n<=9045) > num=clj(11,n-45,90,2); > else if(n<=1395495) > num=clj(192,n-9045,900,3); > else if(n<=189414495) > num=clj(2893,n-1395495,9000,4); > else num=clj(38894,n-189414495,90000,5); > ans=fn(num); > printf("%d\n",ans); > } > } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator