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:向dalao们求助,总是TLE,求救

Posted by zycs at 2019-08-22 21:49:25 on Problem 1002
In Reply To:向dalao们求助,总是TLE,求救 Posted by:2016202202 at 2016-11-05 15:36:47
> #include<stdio.h>
> #include<string.h>
> #define N 100000
> #define M 300
> char a[N][M],r[N][M];
> int counter[N],counter_a[N]={0};
> void sort(char a[][M],int n);
> int main()
> {
> 	int n,i,j,len,count,t=0,time=0,t1=0;
> 	
> 	scanf("%d",&n);
> 	for(i=0;i<n;i++)
> 	{
> 		counter[i]=1;
> 	}
> 	while(getchar()!='\n');
> 	for(i=0;i<n;i++)
> 	{
> 		gets(a[i]);
> 	}
> 	for(i=0;i<n;i++)
> 	{
> 		count=0;
> 		len=strlen(a[i]);
> 		for(j=0;j<len;j++)
> 		{
> 			if(a[i][j]!='-'&&a[i][j]!='Q'&&a[i][j]!='Z')
> 			{
> 				if(count==3)
> 				{
> 					r[i][count]='-';
> 					count++;
> 				}
> 				if(a[i][j]>='0'&&a[i][j]<='9')r[i][count]=a[i][j];
> 				else 
> 				{
> 					switch(a[i][j])
> 					{
> 						case 'A':r[i][count]='2';
> 								break;
> 						case 'B':r[i][count]='2';
> 								break;
> 						case 'C':r[i][count]='2';
> 								break;
> 						case 'D':r[i][count]='3';
> 								break;
> 						case 'E':r[i][count]='3';
> 								break;
> 						case 'F':r[i][count]='3';
> 								break;
> 						case 'G':r[i][count]='4';
> 								break;
> 						case 'H':r[i][count]='4';
> 								break;
> 						case 'I':r[i][count]='4';
> 								break;
> 						case 'J':r[i][count]='5';
> 								break;
> 						case 'K':r[i][count]='5';
> 								break;
> 						case 'L':r[i][count]='5';
> 								break;
> 						case 'M':r[i][count]='6';
> 								break;
> 						case 'N':r[i][count]='6';
> 								break;
> 						case 'O':r[i][count]='6';
> 								break;
> 						case 'P':r[i][count]='7';
> 								break;
> 						case 'R':r[i][count]='7';
> 								break;
> 						case 'S':r[i][count]='7';
> 								break;
> 						case 'T':r[i][count]='8';
> 								break;
> 						case 'U':r[i][count]='8';
> 								break;
> 						case 'V':r[i][count]='8';
> 								break;
> 						case 'W':r[i][count]='9';
> 								break;
> 						case 'X':r[i][count]='9';
> 								break;
> 						case 'Y':r[i][count]='9';
> 								break;			
> 					}
> 				}
> 				/*
> 				else if(a[i][j]=='A'||a[i][j]=='B'||a[i][j]=='C')r[i][count]='2';
> 				else if(a[i][j]=='D'||a[i][j]=='E'||a[i][j]=='F')r[i][count]='3';
> 				else if(a[i][j]=='G'||a[i][j]=='H'||a[i][j]=='I')r[i][count]='4';
> 				else if(a[i][j]=='J'||a[i][j]=='K'||a[i][j]=='L')r[i][count]='5';
> 				else if(a[i][j]=='M'||a[i][j]=='N'||a[i][j]=='O')r[i][count]='6';
> 				else if(a[i][j]=='P'||a[i][j]=='R'||a[i][j]=='S')r[i][count]='7';
> 				else if(a[i][j]=='T'||a[i][j]=='U'||a[i][j]=='V')r[i][count]='8';
> 				else if(a[i][j]=='W'||a[i][j]=='X'||a[i][j]=='Y')r[i][count]='9';
> 				*/
> 				count++;
> 			}
> 		}
> 	}
> 	sort(r,n);
> 	for(i=1;i<n;i++)
> 	{
> 		if(strcmp(r[i],r[i-1])==0)
> 		{
> 			counter[t]++;
> 			counter_a[t]=i;
> 			if(strcmp(r[i],r[i+1])!=0)t++;
> 		}
> 	}
> 	for(i=0;i<=t;i++)
> 	{
> 		if(counter[i]==1)continue;
> 		printf("%s %d\n",r[counter_a[i]],counter[i]);
> 	}
> 	for(i=0;i<=t;i++)
> 	{
> 		if(counter[i]==1)time++;
> 		if(time==t+1)printf("No duplicates.\n");
> 	}
> 	return 0;
> }
> void sort(char a[][M],int n)
> {
> 	int i,j,k;
> 	char ch[M];
> 	for(i=0;i<n-1;i++)
> 	{
> 		k=i;
> 		for(j=i+1;j<n;j++)
> 		{
> 			if(strcmp(a[k],a[j])>0)k=j;
> 		}
> 		if(k!=i)
> 		{
> 			strcpy(ch,a[k]);
> 			strcpy(a[k],a[i]);
> 			strcpy(a[i],ch);
> 		}
> 	}
> }

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