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

用的链表基本上即使不wa也必然是tle了,结论:不用链表重写

Posted by frkstyc at 2005-03-24 17:00:30 on Problem 1002
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:
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