Cod sursa(job #1522529)

Utilizator stud.ubbstud ubb stud.ubb Data 11 noiembrie 2015 19:48:12
Problema Trie Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#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;
}