暴力做法没过样例AC了
#include<bits/stdc++.h>
using namespace std;
int n,cnt=0;
struct node{
string s;
int fs;
};
int main(){
cin>>n;
node *a=new node[n+1];
bool *vis=new bool[n+1];
for(int i=1;i<=n;i++){
int c,d;
cin>>c;
string s;
if(c!=4)cin>>s;
if(c==1){
cin>>d;
bool flag=0;
for(int j=1;j<=cnt;j++){
if(a[j].s==s&&!vis[j]){
flag=1;
a[j].fs=d;
break;
}
}
if(!flag)a[++cnt].s=s,a[cnt].fs=d;
puts("OK");
}else if(c==2){
bool flag=0;
for(int j=1;j<=cnt;j++){
if(a[j].s==s&&!vis[j]){
printf("%d\n",a[j].fs);
flag=1;
break;
}
}
if(!flag){
puts("Not found");
}
}else if(c==3){
bool flag=0;
for(int j=1;j<=cnt;j++){
if(a[j].s==s&&!vis[j]){
vis[j]=1;
puts("Deleted successfully");
flag=1;
break;
}
}
if(!flag){
puts("Not found");
}
}else{
int ans=0;
for(int j=1;j<=cnt;j++){
ans+=!vis[j];
}
cout<<ans<<endl;
}
}
return 0;
}