| ||||||||||
| 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:好长的代码啊In Reply To:好长的代码啊 Posted by:xfxyjwf at 2005-07-06 11:44:48 > Source
>
> Problem Id:1002 User Id:xfxyjwf
> Memory:412K Time:249MS
> Language:C++ Result:Accepted
>
> Source
>
> #include <stdio.h>
> #include <stdlib.h>
> int d[26] = { 2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,9 };
> int *a;
> int n;
> int cmpA(const void *a,const void *b)
> {
> return *(const int *)a-*(const int *)b;
> }
> int main ()
> {
> int i,j;
> bool haveDuplicates;
> char x[100];
> scanf("%d",&n);
> a=new int[n+1];
> scanf("\n");
> for(j=1;j<=n;j++)
> {
> gets(x);
> a[j]=0;
> for(i=0;x[i]!='\0';i++)
> {
> if(x[i]>='A' && x[i]<='Z')
> {
> a[j]=a[j]*10+d[x[i]-'A'];
> continue;
> }
> if(x[i]>='0' && x[i]<='9')
> {
> a[j]=a[j]*10+x[i]-'0';
> continue;
> }
> }
> }
> haveDuplicates=false;
> qsort(&a[1],n,sizeof(a[1]),cmpA);
> j=1;
> for(i=2;i<=n;i++)
> {
> if(a[i]==a[i-1])
> j++;
> else
> {
> if(j>1)
> {
> haveDuplicates=true;
> printf("%03d-%04d %d\n",a[i-1]/10000,a[i-1]%10000,j);
> j=1;
> }
> }
> }
> if(j>1)
> printf("%03d-%04d %d\n",a[n]/10000,a[n]%10000,j);
> else
> if(!haveDuplicates)
> printf("No duplicates.\n");
> delete []a;
> return 0;
> }
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator