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

题目来源

洛谷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; }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值