Pagini recente » Cod sursa (job #773240) | Cod sursa (job #3225334) | Cod sursa (job #2830009) | Cod sursa (job #895114) | Cod sursa (job #2580545)
#include <bits/stdc++.h>
const int nmax=1e5+3;
const int inf=2e9+3;
using namespace std;
int main()
{
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
freopen("trie.in","r",stdin);
freopen("trie.out","w",stdout);
int k;
string s;
map<string,int>h,pr;
while(cin>>k>>s)
{
if(k==0)
{
h[s]++;
while(s.size())
{
pr[s]++;
s.pop_back();
}
} else
if(k==1)
{
if(h[s])
{
h[s]--;
while(s.size())
{
pr[s]--;
s.pop_back();
}
}
} else
if(k==2)
{
cout<<h[s]<<"\n";
} else
{
while(s.size() && !pr[s]) s.pop_back();
cout<<s.size()<<"\n";
}
}
}