Reverse Severer
시간 제한1초메모리 제한2048 MB
문자열 S를 여러 조각으로 나눈 뒤 조각의 순서를 뒤집어 이어 붙여 각 질의 문자열 T를 만들 수 있는지 판별합니다.
문제
길이가 인 문자열 가 주어진다. 질의는 개이며, 각 질의마다 아래 알고리즘을 초기 문자열 에 적용해서 길이가 인 문자열 를 만들 수 있는지 판단해야 한다.
- 문자열 를 하나 이상의 부분 문자열로 나눈다.
- 부분 문자열들의 순서를 뒤집는다.
- 부분 문자열들을 이어 붙여 하나의 문자열로 만든다.
예를 들어, 문자열 REVERSE를 R, E, VER, SE로 나눌 수 있다. 부분 문자열의 순서를 뒤집으면 SE, VER, E, R이 되고, 이어 붙이면 SEVERER가 된다.
입력
첫 번째 줄에 정수 ()이 주어진다.
두 번째 줄에 길이가 인 문자열 가 주어진다.
세 번째 줄에 정수 ()가 주어진다.
이어지는 개의 줄에 각각 길이가 인 문자열 가 주어진다.
모든 문자열은 영어 대문자로만 이루어져 있다.
출력
각 질의마다 를 위 알고리즘으로 얻을 수 있으면 YES, 없으면 NO를 한 줄에 출력한다.