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

C语言超时,已哭晕,求问各路大神为什么

Posted by zhoushuxin at 2015-07-16 09:04:04 on Problem 1002
#include<stdio.h>
#include<stdlib.h>
#include<string.h> 
int main()
{
	int n,i,j,*fre,l,k,p;
	char ** dic,c,*dup;
	scanf("%d",&n);
	
	dic=(char**)malloc(sizeof(char*)*n);
	fre=(int*)malloc(sizeof(int)*n);
	dup=(char*)malloc(sizeof(char)*n);
	
	for(i=0;i<=n;i++) 
	{
		dic[i]=(char*)malloc(sizeof(char)*16);
		fre[i]=1;
		dup[i]='A';
	}
	
	getchar();
	for(i=1;i<=n;i++)
	{
		j=0;
		while(j<=6)
		{
			scanf("%c",&c);
			if(c!='-' && c!='\n') 
			{
				if(c>='A' && c<='Z')
				{
					switch(c)
					{
						case 'A':case 'B':case 'C':
							dic[i][j]='2';break;
						case 'D':case 'E':case 'F':
							dic[i][j]='3';break;
						case 'G':case 'H':case 'I':
							dic[i][j]='4';break;
						case 'J':case 'K':case 'L':
							dic[i][j]='5';break;
						case 'M':case 'N':case 'O':
							dic[i][j]='6';break;
						case 'P':case 'R':case 'S':
							dic[i][j]='7';break;
						case 'T':case 'U':case 'V':
							dic[i][j]='8';break;
						case 'W':case 'X':case 'Y':
							dic[i][j]='9';break;
						default: break;
					}
				}
				else dic[i][j]=c;
				j++;
			}
		}
		getchar();
	}
	
	
	for(i=1;i<=n;i++)
	{
		if(dic[i]!=NULL)
		{
			for(j=1;j<=n;j++)
			{
				if(j!=i && dic[j]!=NULL && strcmp(dic[i],dic[j])==0) 
				{
					fre[i]+=1;
					dic[j]=NULL;
				}
			}
		}
	}
		
	
	l=0;
	for(i=1;i<=n;i++)
		if(dic[i]!=NULL && fre[i]>1) 
		{
			dup[i]=dic[i][0];
			l++;
		}
		
	//if(l==0) printf("No duplicates.");
	c='A';
	for(j=1;j<=l;j++)
	{
		for(i=1;i<=n;i++) 
			if(dic[i]!=NULL && fre[i]>1 && dup[i]<c) 
			{
				c=dup[i];
				p=i;
			}

		for(k=0;k<=6;k++)
		{
			if(k==3) printf("-");
			printf("%c",dic[p][k]);
		}
		//if(j==l) printf(" %d",fre[p]);
		printf(" %d\n",fre[p]);
		
		dic[p]=NULL;
		c='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