为什么他还可以当特派员,不是请家长和罚钱
下午老师让我们重新做了一次背单词
,当然一个寒假都没有复习过之前的知识了说得就好像之前就听懂了,所以想找一些Trie字典树的题做一做,结果发现了这道独一无二的黄题
拿到题目之后,感觉思路特特特简单,这一看就可以直接用STL的map做啊,恰巧这几天也刚好在学一些STL的容器(参见STL初步学习)。想都不带多想,直接开干(说好的Trie呢???)
首先的思路就是弄一个<string,int>类型的map容器,最开始想用bool的,但是发现这里对于每一个名字应该有三个状态,而bool只能对应两个。我将初始值赋值为3(OK),如果他被点名了,便赋值为2(REPEAT),因为初始值应该是0,出去这两个种情况,就是WRONG了
#include<bits/stdc++.h>
using namespace std;
int n,m;
map<string,int> a;
string s;
int main(){
cin>>n;
for(register int i=1;i<=n;i++){
cin>>s;
a[s]=3;
}
cin>>m;
for(register int i=1;i<=m;i++){
cin>>s;
if(a[s]==3){
cout<<"OK"<<endl;
a[s]=2;
}else if(a[s]==2){
cout<<"REPEAT"<<endl;
}else{
cout<<"WRONG"<<endl;
}
}
return 0;
}