Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:好长的代码啊

Posted by zhangcy at 2005-07-06 15:23:15 on Problem 1002
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:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator