| ||||||||||
| 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 | |||||||||
1002 哪位牛帮我看看哪种情况没考虑?谢谢了!!!#include "stdio.h"
#include "stdlib.h"
#define MAX 100
int flag;
typedef struct oo
{
long int s,num;
struct oo *lc,*rc;
} tree;
long change(char a[])
{
long n=0;
int i=0;
while(a[i]!='\0')
{
if(a[i]>='0'&&a[i]<='9')
n=n*10+a[i]-'0';
else if(a[i]>='A'&&a[i]<='Z'&&a[i]!='Q'&&a[i]!='Z'||a[i]>='a'&&a[i]<='z')
{
switch(a[i])
{
case 'A':case 'B':case 'C':case 'a':case 'b':case 'c': n=n*10+2; break;
case 'D':case 'E':case 'F':case 'd':case 'e':case 'f': n=n*10+3; break;
case 'G':case 'H':case 'I':case 'g':case 'h':case 'i': n=n*10+4; break;
case 'J':case 'K':case 'L':case 'j':case 'k':case 'l': n=n*10+5; break;
case 'M':case 'N':case 'O':case 'm':case 'n':case 'o': n=n*10+6; break;
case 'P':case 'R':case 'S':case 'p':case 'r':case 's': n=n*10+7; break;
case 'T':case 'U':case 'V':case 't':case 'u':case 'v': n=n*10+8; break;
case 'W':case 'X':case 'Y':case 'w':case 'x':case 'y': n=n*10+9;
}
}
i++;
}
return n;
}
tree *creat_tree(tree *p,long a)
{
if(p)
{
if(p->s>a)
p->lc=creat_tree(p->lc,a);
else if(p->s<a)
p->rc=creat_tree(p->rc,a);
else
p->num++;
return p;
}
else
{
p=(tree *)malloc(sizeof(tree));
p->num=1;
p->s=a;
p->lc=NULL;
p->rc=NULL;
return p;
}
}
void zhongxu(tree *p)
{
if(p)
{
zhongxu(p->lc);
if(p->num>=2)
{
printf("%ld-%ld %ld\n",p->s/10000,p->s%10000,p->num);
flag=1;
}
zhongxu(p->rc);
}
}
int main()
{
long n,i,k;
char a,b[MAX];
tree *root;
scanf("%d",&n); scanf("%c",&a);
root=NULL;
for(i=0;i<n;i++)
{
gets(b);
k=change(b);
root=creat_tree(root,k);
}
flag=0;
zhongxu(root);
if(!flag)
printf("No duplicates.\n");
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator