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

我郁闷,有没有高手可以指点一下?

Posted by ferrettemp at 2005-01-16 02:33:29 on Problem 1002
错了1晚上了!!实在想不出特殊情况,例子是通过了.

#include <stdio.h>
void main()
{
	char s[200];
	long n,sum,xinxi[20000],num=0,hello;
	int i,j,geshu[20000],temp,sign;
	scanf("%ld",&n);
	getchar();
	while(n-->0)
	{
		gets(s);
		sum=0;
		for (i=j=0;;i++)
		{
                  if (s[i]>='0'&&s[i]<='9'||(s[i]>='A'&&s[i]<='Z'))
			{
				switch(s[i])
				{
					case 'A':case 'B':case 'C':sum=sum*10+2;break;
					case 'D':case 'E':case 'F':sum=sum*10+3;break;
					case 'G':case 'H':case 'I':sum=sum*10+4;break;
					case 'J':case 'K':case 'L':sum=sum*10+5;break;
					case 'M':case 'N':case 'O':sum=sum*10+6;break;
					case 'P':case 'R':case 'S':sum=sum*10+7;break;
					case 'T':case 'U':case 'V':sum=sum*10+8;break;
					case 'W':case 'X':case 'Y':sum=sum*10+9;break;
	                                    default:sum=sum*10+s[i]-'0';break;
				}
				j++;
			}
			if (j==7)
				break;
		}/*读串*/
		sign=i=0,j=num-1;
		while(i<=j)
		{
			temp=(i+j)/2;
			if (xinxi[temp]>sum)
				j=temp-1;
			else if (xinxi[temp]<sum)
				i=temp+1;
			else
			{
				sign=1;
				break;
			}
		}/*二分搜索是否存在*/
		if (sign==0||num==0)
		{
			for (i=num-1;i>=0&&sum<xinxi[i];i--)
			{
				xinxi[i+1]=xinxi[i];
				geshu[i+1]=geshu[i];
			}
			xinxi[i+1]=sum;
			geshu[i+1]=1;
			num++;/*插入并按增序排序*/
		}
		else geshu[temp]++;
	}
	sign=0;
	for (i=0;i<num;i++)
	{
		if (geshu[i]>=2)
		{
			hello=xinxi[i];
			for (j=6;j>=0;j--)
			{
				s[j]=hello%10+'0';
				hello/=10;
			}
			s[7]='\0';
			printf("%c%c%c-%s %d\n",s[0],s[1],s[2],&s[3],geshu[i]);
			sign=1;
		}
	}
	if (sign==0)
		printf("No duplicates.\n");/*按要求打印*/
}

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