| ||||||||||
| 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 | |||||||||
Re:求助 answer wrong~~~~~~~~In Reply To:Re:求助 answer wrong~~~~~~~~ Posted by:sardine at 2010-07-05 18:49:57 明白了,不能有多余输出,但是超时了
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define LEN 20
void del(char*);
void change(char*);
void add(char*);
char *book(int);
int *Count(int);
void up(char*,int);
void RepeatTimes(char*,int*,int);
void main()
{
int n,i,*count;
char *p;
scanf("%d",&n);
getchar();
p=book(n);
count=Count(n);
for(i=0;i<n;i++)count[i]=0;
for(i=0;i<n;i++)
{
gets(&p[i*LEN]);
del(&p[i*LEN]);
change(&p[i*LEN]);
add(&p[i*LEN]);
}
up(p,n);
RepeatTimes(p,count,n);
for(i=0;i<n;i++)
{
if(count[i]>1)
{
printf("%s ",&p[i*LEN]);
printf("%d\n",count[i]);
}
}
}
void del(char *a)
{
int i=0,j=0;
for (;a[i]!=0;i++)
{
if(a[i]!='-')
{
a[j]=a[i];
j++;
}
}
a[j]=0;
}
char *book(int n)
{
char *p=NULL;
return (char*)calloc(n*LEN,sizeof(char));
}
int *Count(int n)
{
return (int*)calloc(n,sizeof(int));
}
void change(char *b)
{
int i;
for(i=0;b[i];i++)
{
if(b[i]>=65&&b[i]<=67)b[i]='2';
if(b[i]>=68&&b[i]<=70)b[i]='3';
if(b[i]>=71&&b[i]<=73)b[i]='4';
if(b[i]>=74&&b[i]<=76)b[i]='5';
if(b[i]>=77&&b[i]<=79)b[i]='6';
if(b[i]=='P'||b[i]=='S'||b[i]=='R')b[i]='7';
if(b[i]>=84&&b[i]<=86)b[i]='8';
if(b[i]>=87&&b[i]<=89)b[i]='9';
}
}
void add(char *c)
{
int i;
for(i=7;i>=3;i--)
c[i+1]=c[i];
c[3]='-';
}
void up(char *d,int n)
{
int i,j;
char temp[LEN];
for(i=0;i<n;i++)
{
for(j=i;j<n;j++)
{
if(strcmp(&d[i*LEN],&d[(j+1)*LEN])>0)
{
strcpy(temp,&d[i*LEN]);
strcpy(&d[i*LEN],&d[(j+1)*LEN]);
strcpy(&d[(j+1)*LEN],temp);
}
}
}
}
void RepeatTimes(char *book,int count[],int n)
{
int i,j,flag;
for(i=0;i<n;i++)
{
flag=1;
for(j=0;j<i;j++)
{
if(!strcmp(&book[j*LEN],&book[i*LEN]))
{
count[j]++;
flag=0;
break;
}
}
if(flag)count[i]++;
}
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator