| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 3 초 (추가 시간 없음) | 1024 MB (추가 메모리 없음) | 53 | 25 | 24 | 51.064% |
알파벳 소문자와 대문자로 구성된 $N(\leq 26)$개의 문자열 $S_1,S_2,\dots ,S_N$이 주어진다. 각 문자열 $S_i$는 1ドル$번부터 $N$번까지의 번호가 매겨져 있으며, 알파벳 대문자 ’A’는 $S_1,ドル ’B’는 $S_2,ドル $\dots,ドル $k$번째 알파벳 대문자는 $S_k$에 대응된다.
각 문자열 $S_i$를 바탕으로 문자열 $T_i$는 다음 규칙을 $S_i$의 첫 번째 문자부터 마지막 문자까지 순서대로 적용하여 생성된다.
이 때 생성된 문자열 내부에 다시 대문자가 포함되어 있다면 동일한 규칙을 적용하여 문자열을 다시 생성한다. 이 과정에서 $T_i$의 길이는 무한히 증가할 수 있다.
예를 들어 $N=2$이고 $S_1=$ ”goodB”이고 $S_2=$ ”byeAbyeB”인 경우를 고려하자.
$Q$개의 순서쌍 $(x_j,L_j,R_j)$이 주어진다. 각 순서쌍에 대하여 $T_{x_j}$의 $L_j$번째 문자부터 $R_j$번째 문자까지의 부분 문자열을 구하는 프로그램을 작성하라.
첫 번째 줄에 문자열의 개수 $N$와 쿼리의 개수 $Q$가 주어진다.
이어지는 $N$개의 줄 중 $i$번째 줄에는 문자열 $S_i$가 주어진다.
이어지는 $Q$개의 줄 중 $j$번째 줄에는 각 쿼리를 나타내는 세 정수 $x_j,ドル $L_j,ドル $R_j$이 공백으로 구분되어 주어진다.
$Q$개의 줄에 걸쳐 답을 출력한다. 이 중 $j$번째 줄에는 $T_{x_j}$의 $L_j$번째 문자부터 $R_j$번째 문자까지, 총 $R_j-L_j+1$개의 문자를 출력한다.
4 4 goodB byeAbyeB helloandA loadingDdone 1 1 15 2 1 15 3 1 25 4 15 38
goodbyegoodbyeg byegoodbyegoodb helloandgoodbyegoodbyegoo loadingloadingloadingloa
3 5 cat mango itsaAnotaB 3 1 16 3 5 7 3 1 1 3 3 3 2 1 5
itsacatnotamango cat i s mango
Contest > BOJ User Contest > Good Bye, BOJ > Good Bye, BOJ 2025! E번