Pagini recente » Cod sursa (job #2925848) | Cod sursa (job #564140) | Cod sursa (job #1160835) | Cod sursa (job #1592504) | Cod sursa (job #1522529)
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
struct nod{
int cnt;
nod *next[26];
};
int main(){
struct nod *root=new nod();
root->cnt=0;
ifstream in("trie.in");
ofstream out("trie.out");
int op;
string w;
while(!in.eof()){
in>>op>>w;
//cout<<op<<" "<<w<<endl;
struct nod* current = root;
for(int i=0;i<w.size();i++){
if (current->next[w[i]-97]==NULL){
if (op==0){
current->next[w[i]-97]= new nod();
current->next[w[i]-97]->cnt =0;
}
if(op==3){
out<<i<<endl;
break;
}
}
current = current->next[w[i]-97];
}
//cout<<current->cnt;
if (op==0){
current->cnt++;
}
if (op==1){
current->cnt--;
}
if (op==2){
out<<current->cnt<<endl;
}
}
return 0;
}