치명적인 주사위 게임
면접 대비시간 제한8초메모리 제한512 MB
빨간 칸과 검은 칸이 원형으로 놓인 판에서, 주사위를 T번 굴려 시계 방향으로 움직인 뒤 빨간 칸에 도착할 확률이 가장 높은 시작 칸의 확률을 구합니다.
문제
T.I. Financial Group은 세계적으로 유명한 금융 회사 그룹이다. 이 그룹이 지급 능력을 잃은 채무자들이 채무 면제 특혜를 두고 경쟁하는 악랄한 도박 게임을 열기로 했다.
게임은 데들리 링이라는 무대에서 열린다. 데들리 링은 N개의 칸으로 이루어진 고리 모양 무대이며, 각 칸은 검은색 또는 빨간색이다. 각 칸은 인접한 두 칸과만 연결되어 전체가 하나의 고리를 이룬다. 게임이 시작되면 각 참가자는 시작 칸을 하나 고른다. 이후 주사위를 굴려 나온 눈의 수만큼 시계 방향으로 칸을 이동한다. 이 과정을 한 라운드라고 하며, 참가자는 라운드를 정확히 T번 반복한다. 모든 라운드가 끝난 뒤 빨간 칸에 서 있으면 채무를 면제받는다. 검은 칸에서 게임이 끝나면 다른 곳으로 보내져 평생 강제 노역을 해야 한다.
시작 칸을 고를 수 있다. 빨간 칸에서 게임을 끝낼 확률이 가장 높은 시작 칸을 고르고 싶다. 이때의 최대 확률을 계산하는 프로그램을 작성하라.
입력
입력은 여러 데이터셋으로 이루어진다.
각 데이터셋은 두 줄로 되어 있다. 첫 줄에는 공백 하나로 구분된 두 정수 N ()과 T ()가 주어진다. 둘째 줄에는 칸의 색을 시계 방향 순서로 나타내는 길이 N의 문자열이 주어진다. 'R'은 빨간 칸, 'B'는 검은 칸을 뜻한다.
입력의 마지막 줄은 0 두 개로 이루어진다. 이 줄은 데이터셋이 아니므로 처리하지 않는다.
출력
각 데이터셋마다 빨간 칸에서 게임을 끝낼 최대 확률을 한 줄에 출력한다. 소수점 이하 자릿수는 자유롭게 출력해도 되지만, 절대 오차는 을 넘지 않아야 한다.