Pagini recente » Borderou de evaluare (job #3121844) | Cod sursa (job #2302412) | Borderou de evaluare (job #2011189) | Borderou de evaluare (job #1736162) | Cod sursa (job #3166423)
#include <fstream>
#include <unordered_map>
#include <string>
using namespace std;
ifstream f("trie.in");
ofstream g("trie.out");
int w;
string cuv;
unordered_map <string,int> mp,pref;
int main()
{
while(f>>w)
{
f>>cuv;
if(w==0)
{
mp[cuv]++;
while(cuv!="")
{
pref[cuv]++;
cuv.pop_back();
}
}
if(w==1)
{
mp[cuv]--;
while(cuv!="")
{
pref[cuv]--;
cuv.pop_back();
}
}
if(w==2)
g<<mp[cuv]<<'\n';
if(w==3)
{
int steag=0;
while(cuv!="" && steag==0)
{
if(pref[cuv]>0)
{
g<<cuv.size()<<'\n';
steag=1;
}
cuv.pop_back();
}
if(steag==0)
g<<0<<'\n';
}
}
return 0;
}