a11y
시간 제한3.5초메모리 제한1024 MB
소문자 문자열 A가 주어질 때, 각 쿼리는 한 글자, 수, 다른 글자 형태로 주어지며, 두 글자 사이에 정확히 그 수만큼의 글자가 있는 A의 부분문자열 개수를 묻습니다.
문제
당신은 a11y라는 단어를 들어본 적이 있는가? 이는 accessibility (접근성)을 줄인 축약어로, a와 y 사이 11개의 문자가 있는 것을 뜻한다. 이와 비슷한 축약어로 k8s (Kubernetes), i18n (internationalization) 등이 있다.
길이 인 문자열 가 있다. 알파벳, 수, 알파벳으로 이루어진 축약어가 쿼리로 주어질 때, 이와 매칭되는 의 부분문자열이 몇 개 있는지 출력하여라. 개수를 셀 때는 같은 문자열이더라도 에서의 위치가 다르면 다른 것으로 친다.
어떤 문자열의 부분문자열이란, 문자열의 양 끝에서 문자를 개 이상 지워서 만들 수 있는 문자열을 뜻한다. 예를 들어, abc의 부분문자열은 a, b, c, ab, bc, abc로 개가 있다.
입력
첫 번째 줄에 알파벳 소문자로만 이루어진 길이가 인 문자열 가 주어진다. ()
다음 줄에 쿼리의 수 가 주어진다. ()
그다음 개의 줄에 축약어가 문자, 수, 문자 형태로 공백 없이 주어진다. 이때 두 문자는 알파벳 소문자이며, 가운데 수는 이상 이하이다.
출력
개의 줄에 쿼리의 답을 차례로 출력한다.