您的位置:首页 > 其它

set+字符串——高手之在一起

2017-09-17 18:19 99 查看

题目来源

洛谷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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  set 字符串
相关文章推荐