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 fisheatscats at 2009-09-03 15:56:15 on Problem 2503
#include <stdio.h>
#include <string>
#include <algorithm>

using namespace std;

const int MAXN=12;
const int STEP=53;
const long MAXCOUNT=100000;
const long MAXMEMORY=3145739;

struct NODE
{
	char language[MAXN];
	long Dic;
};

/*
    1600000

    53,         97,         193,        389,        769, 
    1543,       3079,        6151,       12289,      24593, 
    49157,      98317,        196613,     393241,     786433, 
    1572869,    3145739,       6291469,    12582917,   25165843,
    201326611, 402653189,       50331653,   100663319,           

	805306457, 1610612741, 3221225473ul,    4294967291ul 
*/


NODE Heap[MAXMEMORY];
char words[MAXCOUNT+1][MAXN];
long c,top;

int cmp(NODE,NODE);

int main()
{
	char str[1000];

	c=0;
	top=-1;
	memset(Heap,0,sizeof(Heap));
	memset(words,0,sizeof(words));

	while (gets(str))
	{
		if (strlen(str)==0) break;
		int blank=0;
		while (str[blank]!=' ') blank++;
		c++;
		for (int i=0;i<blank;i++) words[c][i]=str[i];
		words[c][blank]='\0';
		
		//int *array; array= (int *)malloc(sizeof(int)*10)
		//int *a; a=new int
		
		top++;
		Heap[top].Dic=c;
		for (int i=blank+1;i<strlen(str);i++)
			Heap[top].language[i-blank-1]=str[i];
		Heap[top].language[strlen(str)-blank-1]='\0';
	}
	
	sort(Heap,Heap+top+1,cmp);
	
	while(scanf("%s",str)!=EOF)
	{
		long l=0,r=top,mid;
		
		while (r>=l)
		{
			mid=(l+r)/2;
			int t=strcmp(Heap[mid].language,str);
			if (t==0) break;
			if (t<0) r=mid-1;
			if (t>0) l=mid+1;
		}

		if (strcmp(Heap[mid].language,str)==0)
			printf("%s\n",words[Heap[mid].Dic]);
		else
			printf("eh\n");
	}

	return 0;
}

int cmp(NODE A,NODE B)
{
	return strcmp(A.language,B.language);
}

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