아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

OX

시간 제한1초메모리 제한1024 MB

요약
O와 X로 이루어진 문자열에서 가장 왼쪽 O를 X로 바꾸고 그 왼쪽의 X를 모두 O로 되돌리는 연산을, 모든 문자가 X가 될 때까지 반복한 횟수를 10^9+7로 나눈 나머지를 구한다.
난이도

보통10점 중 6점

유형
수학, 조합론, 그리디, 구현
정답자
아직 제출이 없습니다

문제

O와 X로 이루어진 문자열이 주어진다. 모든 문자를 X로 만들 때까지 다음 연산을 반복할 때, 시행하는 연산의 횟수를 구하시오.

  • 문자열의 가장 왼쪽에 있는 O를 X로 바꾸고, 그보다 왼쪽에 있는 X를 전부 O로 바꾼다.

입력

첫째 줄에 O와 X로 이루어진 문자열이 주어진다. 문자열의 길이는 11 이상 100,000100\\,000 이하이다.

출력

첫째 줄에 연산의 횟수를 109+710^9 + 7로 나눈 나머지를 출력한다.

예제3

  1. 예제 1

    입력
    OXO
    
    예상 출력
    5
    
  2. 예제 2

    입력
    X
    
    예상 출력
    0
    
  3. 예제 3

    입력
    OXXOXOXOXOOXXXXOXOOOXOOXXOOOXOXOXOXO
    
    예상 출력
    876151662