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

坑爹题目怎么代码都没错就是Runtime Error

Posted by Mikucon at 2012-01-22 15:12:00 on Problem 2503
#include <iostream>
#include <string>
using namespace std;
string a[10101],b[10101];
int n;
void qs(int s,int t)
{
	if (s>=t) return;
	int i=s,j=t;
	string k=b[(i+j)>>1];
	while (i<=j)
	{
		while (i<=j&&b[i]>k)i++;
		while (i<=j&&b[j]<k)j--;
		if (i<=j)
		{
			string ex=a[i];a[i]=a[j];a[j]=ex;
			ex=b[i];b[i]=b[j];b[j]=ex;
			i++; j--;
		}
	}
	qs(s,j); qs(i,t);
}
int main()
{
	n=0; string s;
	while (getline(cin,s))
	{
		if (s=="") break;
		int m=s.find(' ');
		a[++n]=s.substr(0,m);
		b[n]=s.substr(m+1,s.length());
	}
	qs(1,n);
	while (cin>>s)
	{
		int l=1,r=n,m;
		do{
			m=(l+r)>>1;
			if (s>b[m]) r=m;
			else l=m;
		}while (l+3<r);
		bool ok=false;
		int i;
		for (i=l;i<=r;i++)
			if (b[i]==s) {ok=true; break;}
		if (ok) cout<<a[i]<<endl;
		else cout<<"eh\n";
	}
	return 0;
}

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