源代码:
#include <iostream>
#include <string.h>
#undef find
using namespace std;
int m,n,i,j,p;
int find(string *arr,int l,string _str)
{
int k;
for(k=0;k<=l-1;k++)
{
if(_str==arr[k]) return k;
}
return -1;
}
int main()
{
cin>>m;
string name[m];
bool use[m]={0};
for(i=0;i<=m-1;i++)
{
cin>>name[i];
}
cin>>n;
string per[n];
for(i=0;i<=n-1;i++)
{
cin>>per[i];
}
for(i=0;i<=n-1;i++)
{
p=find(name,m,per[i]);
if(p!=-1)
{
if(use[p]==0)
{
cout<<"OK"<<'\n';
use[p]=1;
}
else cout<<"REPEAT"<<'\n';
}
else cout<<"WRONG"<<'\n';
}
}
筛选函数:
int findstr(string *arr,string str,int n)
{
int i,k,x=0,p;
string st,*sr;
for(i=0;i<=str.size()-1;i++)
{
for(k=0;k<=n-1;k++)
{
if((arr[k])[i]==str[i])
{
st=sr[x]=arr[k];
x++;
p=k;
}
}
arr=NULL;
n=0;
for(k=0;k<=x-1;k++)
{
if((sr[k])[i]==str[i])
{
st=arr[n]=sr[k];
n++;
p=k;
}
}
if(n==1)
{
if(st==arr[0]) return p;
}
sr=NULL;
x=0;
}
return -1;
}