향유회 문자열

월간 향유회 2025. 09. E번 BOJ 34565번
시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB55201976.000%

문제

두 문자열 $A$, $B$에 대해 $A+B$를 $A$와 $B$를 이어 붙인 문자열이라고 하자. 이때 다음과 같은 규칙으로 만들 수 있는 문자열을 향유회 문자열이라고 한다.

  • 빈 문자열은 향유회 문자열이다.
  • $A$, $B$가 향유회 문자열이라면, H$+\,A\,+$Y$+\,B\,+$H도 향유회 문자열이다.
  • $A$, $B$가 향유회 문자열이라면, $A+B$도 향유회 문자열이다.

H, Y, ?로 이뤄진 문자열 $S$이 주어진다. $S$의 ?를 각각 H또는 Y로 바꿔 만들 수 있는 향유회 문자열의 개수를 $10^9+7$로 나눈 나머지를 구하여라.

입력

첫째 줄에 테스트 케이스의 개수를 나타내는 정수 $T$가 주어진다. $(1 \leq T \leq 1\ 000)$

각 테스트 케이스의 첫째 줄에 문자열의 길이를 나타내는 정수 $N$이 주어진다. $(1 \leq N \leq 5\ 000)$

각 테스트 케이스의 둘째 줄에 H, Y, ?로 이뤄진 문자열 $S$가 주어진다. $(|S|=N)$

모든 테스트 케이스에서 $N$의 합은 $5\ 000$ 이하이다.

출력

각 테스트 케이스마다 정답을 출력한다.

예제 입력 1

3
3
H??
2
??
6
?YH???

예제 출력 1

1
0
2

출처

Contest > BOJ User Contest > 월간 향유회 > 월간 향유회 2025. 09. E번

  • 문제를 만든 사람: pyb1031
  • 문제를 검수한 사람: jthis, kiwiyou, pjshwa, snrnsidy, tony9402, utilforever