题目来源
洛谷P1184高手之在一起
https://www.luogu.org/problem/show?pid=1184
思路
用set判断一下就好了
注意事项
输入特别玄学!!!
错误输入
k="";
x=getchar();
while((x>=65&&x<=90)||x==' ')
k+=x,x=getchar();
正确输入
while(!((x>=65&&x<=90)||x==' '))
x=getchar();
while((x>=65&&x<=90)||x==' ')
k+=x,x=getchar();
只能说洛谷的玄学数据我不懂QAQ
代码(C++)
#include <iostream>
#include <cstdio>
#include <set>
using namespace std;
int n,m,ans=0;
char x;
string k;
set<string> s;
int main()
{
cin>>n>>m;
x=getchar();
for(int i=1;i<=n;++i)
{
k="";
while(!((x>=65&&x<=90)||x==' '))
x=getchar();
while((x>=65&&x<=90)||x==' ')
k+=x,x=getchar();
s.insert(k);
}
for(int i=1;i<=m;++i)
{
k="";
while(!((x>=65&&x<=90)||x==' '))
x=getchar();
while((x>=65&&x<=90)||x==' ')
k+=x,x=getchar();
if(s.find(k)!=s.end())
++ans;
}
cout<<ans;
return 0;
}