| ||||||||||
| 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 | |||||||||
C语言超时,已哭晕,求问各路大神为什么#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: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator