rt
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e5 + 5;
int n, tot;
map<string, int> trie[N];
void insert(vector<string> s) {
int cur = 0;
for (int i = 0; i < s.size(); i++) {
if (!trie[cur][s[i]])
trie[cur][s[i]] = ++tot;
cur = trie[cur][s[i]];
}
}
signed main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n;
while (n --) {
char ch;
vector<string> strs;
string s = "";
cin >> ch;
while (cin >> ch) {
if (ch == '/') {
strs.emplace_back(s);
s = "";
continue;
}
s += ch;
if (cin.peek() == '\n') break;
}
strs.emplace_back(s);
insert(strs);
cout << tot << "\n";
}
return 0;
}
in:
16
/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
/qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/ppppppppppppppppppppppppppppppppppppppppppppppppp
/qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
/ppppppppppppppppppppppppppppppppppppppppppppppppp/ppppppppppppppppppppppppppppppppppppppppppppppppp
/ppppppppppppppppppppppppppppppppppppppppppppppppp
/ppppppppppppppppppppppppppppppppppppppppppppppppp/qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
/qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
/aa
/aaa
/aaaaa
/aaaa/aa
/bb/a
/bb/aa
out:
1
2
2
2
4
4
6
6
7
8
9
10
11
13
15
16