만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

치명적인 주사위 게임

면접 대비

시간 제한8초메모리 제한512 MB

요약
빨간 칸과 검은 칸이 원형으로 놓인 판에서, 주사위를 T번 굴려 시계 방향으로 움직인 뒤 빨간 칸에 도착할 확률이 가장 높은 시작 칸의 확률을 구합니다.
난이도

보통10점 중 4점

유형
동적 계획법, 확률
정답자
아직 제출이 없습니다

문제

T.I. Financial Group은 세계적으로 유명한 금융 회사 그룹이다. 이 그룹이 지급 능력을 잃은 채무자들이 채무 면제 특혜를 두고 경쟁하는 악랄한 도박 게임을 열기로 했다.

게임은 데들리 링이라는 무대에서 열린다. 데들리 링은 N개의 칸으로 이루어진 고리 모양 무대이며, 각 칸은 검은색 또는 빨간색이다. 각 칸은 인접한 두 칸과만 연결되어 전체가 하나의 고리를 이룬다. 게임이 시작되면 각 참가자는 시작 칸을 하나 고른다. 이후 주사위를 굴려 나온 눈의 수만큼 시계 방향으로 칸을 이동한다. 이 과정을 한 라운드라고 하며, 참가자는 라운드를 정확히 T번 반복한다. 모든 라운드가 끝난 뒤 빨간 칸에 서 있으면 채무를 면제받는다. 검은 칸에서 게임이 끝나면 다른 곳으로 보내져 평생 강제 노역을 해야 한다.

시작 칸을 고를 수 있다. 빨간 칸에서 게임을 끝낼 확률이 가장 높은 시작 칸을 고르고 싶다. 이때의 최대 확률을 계산하는 프로그램을 작성하라.

입력

입력은 여러 데이터셋으로 이루어진다.

각 데이터셋은 두 줄로 되어 있다. 첫 줄에는 공백 하나로 구분된 두 정수 N (1≤N≤20001 \le N \le 2000)과 T (1≤T≤20001 \le T \le 2000)가 주어진다. 둘째 줄에는 칸의 색을 시계 방향 순서로 나타내는 길이 N의 문자열이 주어진다. 'R'은 빨간 칸, 'B'는 검은 칸을 뜻한다.

입력의 마지막 줄은 0 두 개로 이루어진다. 이 줄은 데이터셋이 아니므로 처리하지 않는다.

출력

각 데이터셋마다 빨간 칸에서 게임을 끝낼 최대 확률을 한 줄에 출력한다. 소수점 이하 자릿수는 자유롭게 출력해도 되지만, 절대 오차는 10−810^{-8}을 넘지 않아야 한다.

예제1

  1. 예제 1

    입력
    6 1
    RBRBRB
    10 1
    RBBBRBBBBB
    10 2
    RBBBRBBBBB
    10 10
    RBBBBBBBBB
    0 0
    
    예상 출력
    0.50000000
    0.33333333
    0.22222222
    0.10025221