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 |
终于A了,但是还是不明白为什么字母小的要排在前面In Reply To:大家都说是水题,可是我还是没有思路阿 Posted by:denganliang at 2011-03-28 21:40:48 #include <stdio.h> #include <string.h> int main(){ int n,i,j,k,c,d,flag; char a[2001],b[2001]; memset(a,'\0',2001); memset(a,'\0',2001); scanf("%d",&n); for(i=0;i<n;i++){ getchar(); a[i]=getchar(); } k=0; if(n==1) { printf("%c\n",a[0]); return 0; } for(i=0,j=n-1;i<=j;){ if(a[i]>a[j]){ b[k++]=a[j--]; } else if(a[i]<a[j]){ b[k++]=a[i++]; } else{ flag=0; if(i!=j){ for(c=i+1,d=j-1;c<d;c++,d--){ if(a[c]>a[d]){ b[k++]=a[j--]; flag=1; break; } else if(a[c]<a[d]){ b[k++]=a[i++]; flag=1; break; } } } if(flag==0) b[k++]=a[i++]; } } b[k]='\0'; for(i=0;i<n;){ printf("%c",b[i]); if((++i)%80==0) printf("\n"); } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator