题解
难度:中等
知识点:map、查找、字符分割
解题剖析:涉及到数据库,主要就是考察添加、删除和查找的知识。因为添加\删除\查找都对应了不同的字符串首字母,所以只要在分割字符串的过程后就可以对应出相应的处理。因为添加和删除都是相同的输出,所以主要需要考虑的是怎么查找。这里可以直接使用一个map<string,bool>来对应出这个ip是否存在,以便在查找时做出不同的输出。
解题
#include <bits/stdc++.h> using namespace std; int main(){ string s; //使用一个map来判断查找的ip是否存在 map<string,bool> m; while(cin>>s){ if(s=="end") break; string ip = s.substr(2); char op = s[0]; if(op=='i'){ m[ip] = true; cout<<"ok"<<endl; } else if(op=='d'){ m[ip] = false; cout<<"ok"<<endl; } else{ //判断这个ip是否存在,存在则输出true,不存在则输出false if(m[ip]==true) cout<<"true"<<endl; else cout<<"false"<<endl; } } return 0; }