Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<cstdio>#include<cstring>#include<algorithm>#include<vector>#include<queue>#include<functional>#include<map>#include<cmath>#include<iostream>#include<string>#include<set>using namespace std;typedef long long LL;const LL mod = 1e9 + 7;int n;struct node {map<string, int> child;vector<string> file;vector<int> r;};vector<node> tree;char tmps[500000 + 10];string s;vector<string> ans;void dfs(string cur_s, int u) {for (int i = 0; i < tree[u].file.size(); i++) {ans[tree[u].r[i]] = cur_s + tree[u].file[i];