통계 접두사

설명
. 문자열 (소문자) 질문 문자열의 숫자 질문 접두사 (자체는 단어 자체 접두사)의 문자열로 문자열의 수의 통계를 많이 주어
입에
문자를 입력 N, N- 표현 문자열 (N <= 10000)
다음 N 라인, 각 라인 10 이하 정도의 문자열
입력 m은 질문 m이 있다는 것을 나타낸다 (m은 <= 100)의
두 번째 부분은 일련의 질문에 각각 해당 라인 인 각 질문 문자열이다.
출력
각 질문하는 질문 프리픽스 열 번호에 주어진다.
샘플 입력
. 5
바나나
밴드

절대
ACM
. 4
BA
B
밴드
ABC
샘플 출력
2
. 3
. 1
0

솔 : 각 노드에서 발생하는 점의 수가 규정 된 전화 번호리스트와 방법.

1 #INCLUDE <CString을>
 2 #INCLUDE <iostream>
 3  사용  공간을 성병;
4  INT의 A [ 100001 ] [ 26 ], TOT = 1 , 최종 [ 100001 ];
5  무효 인 (  * STR)
 (6)  {
 7      INT N = 나 strlen (캐릭터), p = 1 ;
8       ( INT 난 = 0 ; 나는 <N; I ++ )
 9      {
 10          INT의 L = STR은 [I] - ' ' ;
(11)         IF (! A [P] [L])은
 12 인              A [P] [L]가 ++ = , TOT
 13이고          p = A [P] [L]
 14          종료 [P] ++; // 통계적 발생 노드 P 번호 
15      }
 16  }
 . 17  INT를 찾기 (  * STR)
 (18)는  {
 19.      INT N- = 나 strlen (STR), P = 1이다. ]
 (20)은      위해 ( INT I = 0 ; I <N- I ++ )
 (21)가      {
 22는          INT L = STR [I] - ' ' ;
 23은         p = A [P] [1,5];
24          의 경우 (! P)를 돌려  0 ;
25      }
 26      리턴 최종 [P];
27  }
 28   STR [ 11 ];
29  INT 의 main ()
 30  {
 31      INT N, m;
32      는 scanf ( " %의 D ' , N);
33       ( INT 난 = 1 ; i가 <= N; I ++ )
 34      {
 35          는 scanf ( " % S ' , STR);
36          인 (STR);
37      }
 38      는 scanf ( " %의 D ' , m);
39       ( INT 난 = 1 ; i가 <= m; I ++ )
 40      {
 41          는 scanf ( " % S " , STR);
42          의 printf ( " 가 % d \ n " 발견 (STR));
43      }
 44      반환  0 ;
45 }

 

추천

출처www.cnblogs.com/cutepota/p/12589734.html