题目:
输入n,n行操作,每行有一个整数d和一个单词,d=0表示将单词存入集合,d=1表示测试这个单词是否在集合中,如果是,输出yes否则输出no。单词不区分大小写
样例输入:
5
0 we
0 are
1 family
0 Family
1 Family
样例输出:
No
Yes
分析与解答:
string要写在循环外面要不然超时。
这个题用了set的count函数判断元素否在集合里面
#include<iostream>
#include<cstdio>
#include<set>
#include<algorithm>
using namespace std;
int main(){
set<string> c;
int n; int a;
cin>>n;string k;
while(n--){
cin>>a>>k;
int l=k.size();
for(int i=0;i<l;++i){
if('A'<=k[i]&&k[i]<='Z'){
k[i]=k[i]-'A'+'a';
}
}
if(a==0){
c.insert(k);
}
else{
if(c.count(k)){
cout<<"Yes"<<endl;
}
else{
cout<<"No"<<endl;
}
}
}
return 0;
}