Pagini recente » Cod sursa (job #1297824) | Cod sursa (job #84664) | Cod sursa (job #2458093) | Cod sursa (job #913784) | Cod sursa (job #1522525)
#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");
cout<<"";
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;
}