2つの操作を含む文字列のコレクションを維持します
。X文字列の挿入1)「LX」
2)「Q Xは、」文字列がセットに表示されて何回聞いて
、n個の操作、各クエリが出力を持っています出力の一行
#説明
ステンシルタイトル
運転アレイOP
*単一文字のオペアンプに対応した
文字列を、対応するオペアンプ
1の#include <ビット/ STDC ++ H> 2 使用して 名前空間STDを、 3 CONST INT N = 1E5 + 10 。 4 INT N。 5 INTトライ[N] [ 26 ]、CNT [N]、TOT = 1 。 6インラインボイドインサート(CHAR * STR){ 7 INT P = 1 。 8 用(INTは iは= 0 ; STR [I]を、I ++ ){ 9 INT CH = STR [I] - ' ' 。 10 もし(!トライ[P] [CH]) 11 トライ[P] [CH] = ++ TOT; 12 、P = トライ[P] [CH]。 13 } 14 CNT [P] ++ ; 15 } 16インラインINTクエリ(CHAR * STR){ 17 INT P = 1 。 18 のために(INTは iは= 0 ; STR [I]を、I ++ ){ 19 INT CH = STR [I] - ' ' 。 20 であれば(!トライ[P] [CH]) 21 リターン 0 ; 22 、P = トライ[P] [CH]。 23 } 24 リターンCNT [P]。 25 } 26 int型のmain(){ 27 CIN >> N。 28 一方(N-- ){ 29 チャー OP [ 2 ]。 30 チャーX [N]。 31 CIN >> OP >> X。 32 であれば(* OP == ' I ' ){ 33 インサート(X)。 34 } 35 他{ 36 COUT <<クエリ(X)<< ENDL。 37 } 38 } 39 }