농부 존(Farmer John)과 베시(Bessie)는 소들을 위한 새로운 운동 게임을 고안했다. 소들은 길이 M (2 <= M <= 1,000,000,000)의 원형 트랙 위를 같은 위치에서 출발하여 달린다. 게임은 각각 수 X_i (0 <= X_i < M)가 적힌 8N장의 카드 한 벌을 사용하여 N번 (1 <= N <= 14)의 라운드로 진행된다.
각 라운드마다 FJ는 맨 위의 카드 8장을 별도의 더미로 옮기고, 그중 위쪽 4장 또는 아래쪽 4장을 베시가 사용할 카드로 고른다. 그러면 베시는 FJ가 고른 4장 중 위쪽 2장 또는 아래쪽 2장을 고른다. 그 후 FJ가 맨 위 카드의 수 X_top을 외치면, 소들은 R * X_top의 거리를 달린다. 여기서 R은 소들이 지금까지 달린 총 거리이다. 이어서 베시가 맨 아래 카드의 수 X_bottom을 외치면, 소들은 X_bottom의 거리를 달린다.
FJ는 운동이 끝난 후 소들이 너무 멀리 떨어져 있으면 지쳐서 트랙의 출발점으로 돌아오지 못할까 걱정한다. 존은 소들이 출발 위치에서 K (0 <= K <= floor(M/2))보다 먼 거리에 있게 되면 집에 돌아올 수 없다고 믿는다.
FJ가 올바르게 플레이하면, 베시가 어떤 수를 두든 상관없이 소들이 항상 집에 돌아올 수 있도록 보장할 수 있음이 보장된다! 각 라운드마다, 그 이후 베시가 무엇을 하든 FJ가 소들을 항상 집에 데려올 수 있도록 FJ가 어느 쪽 절반의 카드를 골라야 하는지 결정하는 것이 당신의 임무이다. 그러면 베시는 입력에 주어진 수를 두고, 당신은 다음 라운드로 넘어간다. 베시의 수가 입력으로 주어지긴 하지만, 당신은 베시가 무엇을 고르든 통했을 FJ의 수를 제시해야 함에 유의하라.
첫째 줄: 공백으로 구분된 세 정수 N, M, K
둘째 줄: N개의 문자로 이루어진 문자열. i번째 문자가 'T'이면 베시가 i번째 라운드에서 위쪽 2장을 고른다는 뜻이다. 그렇지 않으면 i번째 문자는 'B'이며, 베시가 i번째 라운드에서 아래쪽 2장을 고른다는 뜻이다.
셋째 줄부터 2+N번째 줄까지: 각 줄에 그 라운드에 사용될 8장의 카드를 위에서 아래 순서로 나타내는 여덟 개의 정수가 주어진다.
N개의 문자로 이루어진 문자열을 출력한다. i번째 라운드에서 FJ가 위쪽 4장을 골라야 하면 i번째 문자는 'T', 아래쪽 4장을 골라야 하면 'B'이다. 소들을 집에 데려오는 방법이 여러 가지라면, 사전순으로 첫 번째인 것(즉, 알파벳순으로 가장 작은 문자열)을 고른다.
cowrun.in · 출력을 쓸 파일 cowrun.out2 2 0
TT
1 0 0 0 0 0 0 1
0 1 1 1 0 0 1 0TBOutput details: The cows must end up exactly where they started to be able to come home. Note that FJ is not aware of what choices Bessie is going to make beforehand.