| ||||||||||
| 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 | |||||||||
this is almost impossibleIn Reply To:有用从a到b一个一个数的思路却不超时的算法么?我tle Posted by:00 at 2005-07-15 10:54:23 > #include<iostream.h>
> #include<string.h>
> #include<math.h>
> void main()
> {
> while(1)
> {
> char a[10]={'\0','\0','\0','\0','\0','\0','\0','\0','\0','\0'},
> b[10]={'\0','\0','\0','\0','\0','\0','\0','\0','\0','\0'},t[10];
> long r[10]={0,0,0,0,0,0,0,0,0,0},i,j,begin=0,end=0;
> cin>>a>>b;
> if(a[0]=='0'&&b[0]=='0')
> break;
> strcpy(t,a);
> for(i=0;i<(long)strlen(a);i++)
> {
> begin+=(long)pow(10,strlen(a)-1-i)*(a[i]-48);
> a[i]=t[strlen(a)-1-i];
> }
> strcpy(t,b);
> for(i=0;i<(long)strlen(b);i++)
> {
> end+=(long)pow(10,strlen(b)-1-i)*(b[i]-48);
> b[i]=t[strlen(b)-1-i];
> }
> if(begin>end)
> {
> i=begin;
> begin=end;
> end=i;
> strcpy(t,a);
> strcpy(a,b);
> strcpy(b,t);
> }
> for(i=0;i<end-begin+1;i++)
> {
> for(j=0;j<(long)strlen(a);j++)
> r[a[j]-48]++;
> a[0]++;
> for(j=0;j<(long)strlen(a);j++)
> {
> if(a[j]>57)
> {
> a[j]-=10;
> if(a[j+1]=='\0')
> a[j+1]=49;
> else
> a[j+1]++;
> }
> }
> }
> for(i=0;i<10;i++)
> cout<<r[i]<<' ';
> cout<<endl;
> }
> }
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator