Trie玄关,答案与测试点一样却WA了
查看原帖
Trie玄关,答案与测试点一样却WA了
800884
Weekoder楼主2024/7/3 11:54

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

2024/7/3 11:54
加载中...