题解
2024-05-28 19:34:21
发布于:上海
3阅读
0回复
0点赞
由题意知,这里要添加、删除、遍历、判空等操作,如果单纯用数组有可能需要避免导致RE的问题,所以我们可以去换成vector做这道题。
代码:
#include<iostream>
#include<vector>
using namespace std;
vector<string>v;
int main(){
int n;
cin>>n;
while(n--){
string s;
cin>>s;
if(s=="ADD"){
string t;
cin>>t;
bool f=0;
for(int i=0;i<v.size();i++){
if(v[i]==t){
cout<<"already exists"<<endl;
f=1;
break;
}
}
if(!f){
cout<<"success"<<endl;
v.push_back(t);
}
}
else if(s=="DEL"){
string t;
cin>>t;
bool f=0;
for(auto it=v.begin();it!=v.end();it++){
if(*it==t){
f=1;
cout<<"success"<<endl;
v.erase(it);
break;
}
}
if(!f){
cout<<"non-existent"<<endl;
}
}
else if(s=="VIEW"){
if(v.empty())cout<<"empty"<<endl;
else for(int i=0;i<v.size();i++)cout<<i+1<<". "<<v[i]<<endl;
}
else if(s=="UNLOCK"){
string t;
cin>>t;
bool f=0;
for(int i=0;i<v.size();i++){
if(v[i]==t){
f=1;
cout<<"YES"<<endl;
break;
}
}
if(!f)cout<<"NO"<<endl;
}
}
return 0;
}
这里空空如也
有帮助,赞一个