Submission #104054

#TimeUsernameProblemLanguageResultExecution timeMemory
104054KewoSavez (COCI15_savez)C++14
0 / 120
76 ms47096 KiB
#include <bits/stdc++.h> #define pb push_back #define ppb pop_back #define fi first #define se second #define mid ((x + y) / 2) #define left (ind * 2) #define right (ind * 2 + 1) #define mp make_pair #define timer ((double)clock() / CLOCKS_PER_SEC) #define endl "\n" #define spc " " #define d1(x) cerr<<#x<<":"<<x<<endl #define d2(x, y) cerr<<#x<<":"<<x<<" "<<#y<<":"<<y<<endl #define d3(x, y, z) cerr<<#x<<":"<<x<<" "<<#y<<":"<<y<<" "<<#z<<":"<<z<<endl #define fast_io() ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0) using namespace std; typedef long long int lli; typedef pair<int, int> ii; typedef pair<char, char> cc; typedef pair<ii, int> iii; typedef pair<double, double> dd; const int N = (int)(5e5 + 5); const int LOG = (int)(20); struct node { int ind, word; map<cc, int> ed; }tree[N]; int n, sz = 1; string str[N]; void add(string s) { int idx = 1; for(int i = 0; i < (int)s.length(); i++) { char fc = s[i], lc = s[(int)s.length() - i - 1]; cc e = {fc, lc}; if(tree[idx].ed.count(e) == 0) tree[idx].ed[e] = ++sz; idx = tree[idx].ed[e]; } tree[idx].word++; } int dfs(int x) { int re = 0; for(auto i : tree[x].ed) re = max(re, dfs(i.se)); if(tree[x].word) re += tree[x].word; return re; } int main() { fast_io(); // freopen("inp.in", "r", stdin); cin >> n; for(int i = 1; i <= n; i++) { cin >> str[i]; add(str[i]); } cout << dfs(1); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...