页面无法加载?点击这里可能会修复。
Placeholder

#10466

오래된 금 20s 2048MB

问题

아주아주 오래전(무려 7년 전), 당신은 동남아시아 어딘가에 있는 서-동 방향의 길 위에 있었고, 그 길에는 금 덩어리(gold nugget)가 적어도 하나는 존재한다고 알려져 있었다. 당신은 제한적이지만 믿을 수 있는 금 탐지기를 가지고 있었다. 그 금으로 엄청나게 부자가 된 후, 당신은 가능한 모든 활동을 해 보았지만 결국 지루해졌다. 거대한 저택을 배회하던 중, 그 금 채굴 여정 때의 메모를 발견했다.

그 메모는 길의 도식(diagram) 형태이다. 길의 각 1km 구간마다 다음 5가지 표시 중 하나가 적혀 있다.

  • <: 가장 가까운 금 덩어리가 서쪽에 있음을 의미한다.
  • =: 동쪽과 서쪽에 있는 가장 가까운 금 덩어리까지의 거리가 같고, 해당 위치에는 금 덩어리가 없음을 의미한다.
  • >: 가장 가까운 금 덩어리가 동쪽에 있음을 의미한다.
  • o: 해당 위치에 금 덩어리가 있음을 의미한다.
  • .: 해당 위치에 대해 아무 것도 알려져 있지 않음을 의미한다.

.로 표시된 k개의 미지의 위치는 각각 독립적으로 금 덩어리가 있을 수도 없을 수도 있으므로, 가능한 금 배치의 수는 2^k가지이다. 이 중에서 메모의 모든 내용과 모순되지 않으면서, 또한 길 전체에 금 덩어리가 적어도 하나 존재하도록 하는 배치의 수를 구하라. 출력값이 매우 클 수 있으므로, 답을 소수 10^9+7(1000000007)로 나눈 나머지를 출력하라.


输入

입력의 첫 줄에는 테스트 케이스 수 \mathbf{T}가 주어진다. \mathbf{T}줄이 이어진다. 각 줄에는 하나의 테스트 케이스를 나타내는 문자열 \mathbf{S}가 주어진다. \mathbf{S}의 i번째 문자는, 서쪽에서 동쪽으로 i번째 1km 구간에 대한 메모의 표시를 위에서 설명한 규칙에 따라 나타낸다.


输出

각 테스트 케이스마다 Case #x: y 형식의 한 줄을 출력하라. 여기서 x는 (1부터 시작하는) 테스트 케이스 번호이고, y는 메모와 양립 가능한 서로 다른 금 배치의 개수를 소수 10^9+7(1000000007)로 나눈 나머지이다.


示例

4
o..=>..
...o>..........
.=.
.........o........
Case #1: 3
Case #2: 0
Case #3: 1
Case #4: 131072
샘플 케이스 #1에서는 ooo, oooo, o>o인 길을 만드는 유효한 배치가 세 가지 있다. 샘플 케이스 #2에서는 유효한 배치가 없다. 샘플 케이스 #3에서는 유일한 유효 배치가 길 o=o를 만든다. 유효한 배치는 항상 길에 최소 하나의 금덩이가 있어야 한다는 점에 유의하라. 샘플 케이스 #4에서는 2^{17}개의 모든 배치가 유효하다. 이 경우 미정 위치(.)를 모두 비워 두는(금덩이 없이) 배치도 길 전체에 금덩이가 하나 남아 있으므로 유효하다.

来源

GCJ 2023d D

需要登录才能编写代码。