diff options
Diffstat (limited to '04-algorithms_on_strings/01-suffix_trees/01-trie/trie.cpp')
-rw-r--r-- | 04-algorithms_on_strings/01-suffix_trees/01-trie/trie.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/04-algorithms_on_strings/01-suffix_trees/01-trie/trie.cpp b/04-algorithms_on_strings/01-suffix_trees/01-trie/trie.cpp new file mode 100644 index 0000000..08cfe9b --- /dev/null +++ b/04-algorithms_on_strings/01-suffix_trees/01-trie/trie.cpp @@ -0,0 +1,37 @@ +#include <string> +#include <iostream> +#include <vector> +#include <map> + +using std::map; +using std::vector; +using std::string; + +typedef map<char, int> edges; +typedef vector<edges> trie; + +trie build_trie(vector<string> & patterns) { + trie t; + // write your code here + return t; +} + +int main() { + size_t n; + std::cin >> n; + vector<string> patterns; + for (size_t i = 0; i < n; i++) { + string s; + std::cin >> s; + patterns.push_back(s); + } + + trie t = build_trie(patterns); + for (size_t i = 0; i < t.size(); ++i) { + for (const auto & j : t[i]) { + std::cout << i << "->" << j.second << ":" << j.first << "\n"; + } + } + + return 0; +}
\ No newline at end of file |