| ||||||||||
| 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 | |||||||||
用的链表基本上即使不wa也必然是tle了,结论:不用链表重写In Reply To:sos sos sos sos sos sos 火急!郁闷!超级郁闷!请高人看看为什摸wa,我实在没辙了 Posted by:00400000 at 2005-03-24 16:34:56 > #include<iostream.h>
> #include<stdlib.h>
> #include<stdio.h>
> struct tel
> {
> long int num;
> char telnum[8];
> tel*next;
> };
> void main()
> {
> char num[]="2223334445556667777888999";
> char*telnum1;
> int i=0,j=0;
> long int k,k2,k1=0;
> tel*head,*ps,*pend,*head1,*head2;
>
> head=new tel;
> head->num=1;
> ps=head;
> pend=head;
> head1=head;
> pend->next=NULL;
>
> scanf("%d",&k);
> k2=k-1;
> while(k!=0)
> {
> telnum1=new char[100];
> scanf("%s",telnum1);
> while(j<7)
> {
> if(telnum1[i]>='0'&&telnum1[i]<='9')
> {
> ps->telnum[j]=telnum1[i];
> j++;
> }
> else if('A'<=telnum1[i]&&telnum1[i]<'Z')
> {
> ps->telnum[j]=num[telnum1[i]-'A'];
> j++;
> }
> else if('a'<=telnum1[i]&&telnum1[i]<'z')
> {
> ps->telnum[j]=num[telnum1[i]-'a'];
> j++;
> }
> i++;
> }
> while(k<=k2)
> {
> if(atoi(pend->telnum)<atoi(ps->telnum))
> {
> pend->next=ps;
> pend=ps;
> pend->next=NULL;
> break;
> }
> else if(atoi(pend->telnum)==atoi(ps->telnum))
> {
> pend->num++;
> delete ps;
> break;
> }
> if(atoi(head->telnum)==atoi(ps->telnum))
> {
> head->num++;
> delete ps;
> break;
> }
> else if(atoi(head->telnum)>atoi(ps->telnum))
> {
> ps->next=head;
> head=ps;
> head1=head;
> break;
> }
> while(atoi(head1->telnum)<atoi(ps->telnum))
> {
> head2=head1;
> head1=head1->next;
> }
> if(atoi(head1->telnum)==atoi(ps->telnum))
> {
> head1->num++;
> head1=head;
> delete ps;
> break;
> }
> else if(atoi(head1->telnum)>atoi(ps->telnum))
> {
> ps->next=head1;
> head2->next=ps;
> head1=head;
> break;
> }
> }
> delete[]telnum1;
> ps=new tel;
> ps->num=1;
> i=0;
> j=0;
> k--;
> }
> delete ps;
> while(head->next!=NULL)
> {
> if(head->num!=1)
> { printf("%c%c%c",head->telnum[0],head->telnum[1],head->telnum[2]);
> printf("-");
> printf("%c%c%c%c %d\n",head->telnum[3],head->telnum[4],head->telnum[5],head->telnum[6],head->num);
> k1++;
> }
> head=head->next;
> }
> if(head->num==1&&k1==0)
> printf("No duplicates.");
> else if(head->num!=1)
> {
> printf("%c%c%c",head->telnum[0],head->telnum[1],head->telnum[2]);
> printf("-");
> printf("%c%c%c%c %d\n",head->telnum[3],head->telnum[4],head->telnum[5],head->telnum[6],head->num);
> }
>
> }
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator