Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
#include
#include
#include
#include
using namespace std; typedef long long ll; const int alphabet_size = 26; const int maxn = 300; int trie[maxn][alphabet_size]; map
at_trie_end_of_word; int main() { ios_base::sync_with_stdio(false); int o, n; cin >> o >> n; vector
v(n); for(int i = 0; i < n; i++) { cin >> v[i]; } map
m1; map
m2; int cnt = 1; for(int i = 0; i < n; i++) { string tmp = ""; for(int j = 0; j < (int) v[i].size(); j++) { tmp += v[i][j]; m1[tmp] = cnt; m2[cnt] = tmp; cnt++; } } m1[""] = 0; m2[0] = ""; for(int idx = 0; idx <= maxn; idx++) { if(m2.find(idx) != m2.end()) { for(int j = 0; j < n; j++) { if((int) m2[idx].size() >= (int) v[j].size() and m2[idx].find(v[j]) != string::npos) { at_trie_end_of_word[idx] |= (1 << j); } } } string tmp = ""; for(int j = 0; j < 26; j++) { tmp = m2[idx] + (char) (j + 'a'); while(m1.find(tmp) == m1.end()) { tmp.erase(tmp.begin()); } trie[idx][j] = m1[tmp]; } } return 0; }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)