실행 시간 제한 | 메모리 제한 |
---|---|
1 초 | 128 MB |
사회교사 황보령의 학생들은 "Moo"라는 새로운 단어 게임에 푹 빠졌습니다. 이 게임은 한 줄로 서 있는 학생들이 순서대로 특정 문자를 빠르게 외치는 게임입니다. 실수를 한 첫 번째 학생은 패배합니다.
Moo의 문자열 순서는 이론상 무한히 생성되며, 아래와 같이 시작됩니다:
m o o m o o o m o o m o o o o m o o m o o o m o o m o o o o o
이 순서는 다음과 같이 재귀용법으로 설명할 수 있습니다: S(0)을 길이가 3인 수열 "m o o"이라고 할 때, 모든 k(k>=1)에 대해서 S(k)는 S(k-1)과 "o"가 k+2개 개수를 가진 문자열 "m o ··· o" 와 S(k-1)을 합쳐서 만들 수 있습니다.
예를 들면:
S(0) = "m o o"
S(1) = "m o o m o o o m o o"
S(2) = "m o o m o o o m o o m o o o o m o o m o o o m o o"
이 과정은 무한히 긴 문자열을 만들게 되며, 이 문자열은 Moo 게임을 하는데 사용됩니다. N이 주어졌을 때, Moo 수열의 N 번째 글자를 구하는 프로그램을 작성하세요.
* 1번째 줄: 하나의 정수 N (1 <= N <= 10^9).
* 1번째 줄: 출력의 유일한 줄에는 m 또는 o 중 하나인 단일 문자가 포함되어야 합니다.
11
m
출처: USACO 2012 February Contest, Bronze Division Problem 3. Moo