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

我知道为什么了!

Posted by pillar at 2006-11-11 13:04:51 on Problem 1002
In Reply To:为什么我的程序总是错!谁有测试数据? Posted by:pillar at 2006-11-11 12:44:54
> #include <stdio.h>
> #include <string.h>
> #include <stdlib.h>
> char ch[200000][100];
> const char let[]="22233344455566677778889999";
> int cmp(const void*a,const void*b){
> 	return strcmp((char*)a,(char*)b);
> }
> int main(){
> 	int n,i,j,k;
> 	int len;
> 	scanf("%d",&n);
> 	for (i=0;i<n;++i)
> 	{
> 		scanf("%s",ch[i]);
> 		len = strlen(ch[i]);
> 		k = 0;
> 		for (j=0;j<len;++j)
> 		{
> 			if (ch[i][j]>='0'&&ch[i][j]<='9')
> 				ch[i][k++] = ch[i][j];
> 			else if (ch[i][j]>='A'&&ch[i][j]<='Z')
> 				ch[i][k++] = let[ch[i][j]-'A'];
> 		}
> 		ch[i][k] = 0;
> 	}
> 	qsort(ch,n,sizeof(ch[0]),cmp);
> 	k = len = 0;
> 	for (i=0;i<n;++i)
> 	{
> 		if (strcmp(ch[i],ch[k]))
> 		{
> 			if (i-k>1)
> 			{
> 				len = 1;
> 				for (j=0;j<3;++j)	printf("%c",ch[i][j]);
> 				printf("-");
> 				for (;j<7;++j)		printf("%c",ch[i][j]);
> 				printf(" %d\n",i-k);
> 			}
> 			k = i;
> 		}
> 	}
> 	if (i-k>1)
> 	{
> 		len = 1;
> 		for (j=0;j<3;++j)	printf("%c",ch[i][j]);
> 		printf("-");
> 		for (;j<7;++j)		printf("%c",ch[i][j]);
> 		printf(" %d\n",i-k);
> 	}
> 	if (len==0)		printf("No duplicates.\n");
> 	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