Cod sursa(job #3209084)

Utilizator alexcmeciu1Cmeciu Alexandru Cristian alexcmeciu1 Data 1 martie 2024 20:35:52
Problema Trie Scor 25
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.19 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("trie.in");
ofstream fout("trie.out");
unordered_map<string,int> mp;
char s[25],a[100005][25],aux[25];
int c,nr,maxim,cnt;
int main()
{
    while(fin>>c>>s){
        if(c==0){
            if(mp.find(s)==mp.end())
                strcpy(a[++nr],s);
            mp[s]++;
        }
        else
            if(c==1){
                mp[s]--;
        }
        else
            if(c==2)
        {
            if(mp[s]<0)
                fout<<0<<'\n';
            else
                fout<<mp[s]<<'\n';
        }
        else
            if(c==3){
                maxim=0;
                cnt=0;
                for(int j=1;j<=nr;j++)
                {
                    if(mp[a[j]]>0){
                    cnt=0;
                    for(int i=0;i<min(strlen(s),strlen(a[j]));i++)
                        if(s[i]==a[j][i]){
                            cnt++;
                        }
                        else
                            i=min(strlen(s),strlen(a[j]));
                    if(cnt>maxim)maxim=cnt;
                }
            }
            fout<<maxim<<'\n';
        }
    }
    return 0;
}