Description
小信快要考托福了,这几天,小信每天早上都起来记英语单词。小白时不时地来考一考小信:小白会询问小信一个单词,如果小信背过这个单词,小信会告诉小白这个单词的意思,不然小信会跟小白说还没有背过。单词是由连续的大写或者小写字母组成。注意单词中字母大小写是等价的。比如You和you是一个单词。
Input
首先输入一个 n(1 <= n <= 100000) 表示事件数。接下来 n 行,每行表示一个事件。每个事件输入为一个整数 d 和一个单词 word(单词长度不大于 20),用空格隔开。如果 d=0,表示小信记住了 word 这个单词,如果 d=1,表示这是一个 测试,测试小信是否认识单词 word(小白永远不会告诉小信这个单词的意思)。事件的输入是按照时间先后顺序输入的。
Output
对于小白的每次 测试,如果小信认识这个单词,输出一行Yes, 否则输出一行No。
Sample Input 1
5
0 we
0 are
1 family
0 Family
1 Family
Sample Output 1
No
Yes
Sample Input 2
4
1 hello
0 hello
0 smart
1 hello
Sample Output 2
No
Yes
#include <bits/stdc++.h>
using namespace std;
int main(){
set<string> st;
int n;
cin>>n;
for(int i=0;i<n;i++){
int num;
string s;
cin>>num>>s;
for(int j=0;j<s.size();j++){
if(s[j]<='Z'&&s[j]>='A'){
s[j]+=32;
}
}
if(num==0){
st.insert(s);
}else{
if(st.count(s)){
cout<<"Yes"<<endl;
}else{
cout<<"No"<<endl;
}
}
}
return 0;
}