Pagini recente » Cod sursa (job #416086) | Cod sursa (job #2045334) | Cod sursa (job #487968) | Cod sursa (job #2016841) | Cod sursa (job #2922005)
#include <iostream>
#import <algorithm>
#import <vector>
#import <map>
#import <set>
#import <deque>
#import <queue>
#import <cassert>
//#import <cmath>
#import <cstring>
#import <cctype>
#import <cstdlib>
#import <stack>
using namespace std;
/*
Facebook Search
solutie cu trie
M=max_lung_cuv
build in O(N*M)-fiecare cuvant are un path diferit
update O(M) - schimbam maximul de pe path de la string la radacina
query O(M)- ne ducem pana la baza stringului
rezultatul va fi in nodul respectiv / daca nu exita path "Search Bing for "
*/
///struct pentru stringuri + revelanta (nu relevanta)
struct suri
{
int r;
string s;
suri(string siuuu)
{
///adaugam dolar pentru a scapa de problme la comp
this->s=siuuu+"$";
this->r=0;
}
};
vector<suri>a;
int comp_suri(int x,int y,int aux)
{
if(a[x].r<a[y].r)return y;
else if(a[x].r>a[y].r)return x;
if(a[x].s[aux]<a[y].s[aux])return x;
return y;
}
main()
{
int n;
cin>>n;
a.reserve(n);
for(int i=0;i<n;i++)
{
string aux;
cin>>aux;
a.push_back(suri(aux));
}
}