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但是输出是对的呀。。。。

Posted by hjcx2009 at 2009-11-26 23:51:51 on Problem 1035
#include<iostream>
#include<string>
#include<vector>
#include<fstream>
using namespace std;

vector<string> Key;
vector<string> Resemble;//近似数组存储与所测试对象近似的串
int A[2][16];

int Test(string );
bool replace(string A,string B);



int main( )
{
	string a;
	 ifstream ii("TextFile1.txt",ios::in);
	if(!ii)
	{
		return 1;
	}
	while(ii>>a&&a!="#")
	{
		Key.push_back(a);
	}
	
	while(ii>>a&&a!="#")
	{
		Test(a);
	}
	ii.close();
	
	system("pause");
	return 0;
}


int Test(string a)
{
	Resemble.clear();
	int k=0;
	int Size=Key.size();
	/*int m=a.size();
	int n=0;*/
	for(int i=0;i<Size;i++)
	{
		

		if(a==Key[i])
		{

			cout<<a<<' '<<"is"<<' '<<"correct"<<endl;
			return 0;
		}
		else
		{
			
			if(replace(a,Key[i])
)
			{
				Resemble.push_back(Key[i]);
				
			}


		}

	}
    cout<<a<<':';
	
		for(int j=0;j<Resemble.size();j++)
		cout<<' '<<Resemble[j];
		cout<<endl;
		return 0;
	
	
	
}
bool replace(string A,string B)
{
	int l1=A.size();
	int l2=B.size();
	int i=0;
	if(l1==l2)
	{
		while(i<l1&&A[i]==B[i])
			i++;
		while(++i<l1)
			if(A[i]!=B[i])
				return false;
	}else if(l1==l2+1)
	{
		while(i<l2&&A[i]==B[i])
			i++;

		while(++i<l1)
			if(A[i]!=B[i-1])
				return false;
	}else if(l1+1==l2)
	{
		while(i<l1&&A[i]==B[i])
			i++;

		while(++i<l2)
			if(A[i-1]!=B[i])
				return false;
	}else
		return false;

	return true;
}




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