Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
121443 陈志轩 单词查找树 C++ 通过 100 5 MS 11400 KB 1119 2024-01-21 19:01:36

Tests(10/10):


#include<bits/stdc++.h> #define int long long using namespace std; namespace Trie{ int Trieidx = 0,Triet[300005][27],Triecnt[300005]; void TrieInit(){ for (int i = 0;i <= Trieidx + 3;i++){ for (int j = 0;j <= 27;j++){ Triet[i][j] = 0; } } for (int i = 0;i <= Trieidx + 3;i++){ Triecnt[i] = 0; } Trieidx = 0; } int TrieGetnum(char x){ return x - 'A' + 1; } void TrieInsert(string s){ int a = 0,slen = s.size(); for (int i = 0;i < slen;i++){ int b = TrieGetnum(s[i]); if (Triet[a][b] == 0){ Trieidx++; Triet[a][b] = Trieidx; } a = Triet[a][b]; Triecnt[a]++; } } int TrieQuery(string s){ int a = 0,slen = s.size(); for (int i = 0;i < slen;i++){ int b = TrieGetnum(s[i]); if (Triet[a][b] == 0){ return 0; } a = Triet[a][b]; } return Triecnt[a]; } } using namespace Trie; void slove(){ TrieInit(); //int n,q; //cin>>n>>q; string s; while (cin>>s){ TrieInsert(s); } cout<<Trieidx + 1; return ; } signed main(){ int t = 1; while (t--){ slove(); } return 0; }


测评信息: