기수(Flag Bearer)
시간 제한1초메모리 제한1024 MB
9x9 세마포어 그림마다 글자를 해독한 뒤, 각 글자를 알파벳에서 C칸 뒤의 글자로 순환시켜 암호문을 출력합니다.
문제
곰들은 혼자 사냥하는 생활을 그만두고 함께 사냥하기로 했다. 곰들은 농장의 반대편 양쪽에 두 무리를 만들었고, 이제 몇 마리의 작은 돼지 새끼를 납치할 준비를 하고 있다. 돼지 새끼들의 운명은 지금 매우 불확실해 보인다. 계획이 드러나지 않도록, 곰들은 작전 중 멀리서 수기 알파벳으로 소통하고, 그 메시지를 다시 카이사르 암호로 암호화한다. 카이사르 암호는 음이 아닌 정수 하나로 정해진다. 메시지의 각 글자는 알파벳에서 칸 뒤에 있는 글자로 바뀐다. 위치가 알파벳의 끝을 넘어가면 알파벳의 처음으로 돌아가 이어서 센다. 예를 들어 이면 뒤에서 두 번째 글자는 네 번째 글자로 암호화된다. 수기 알파벳의 각 글자는 똑바로 서서 메시지를 받는 쪽을 향한 신호 포유류의 두 팔(아래쪽 또는 위쪽)의 위치로 나타낸다. 그림의 가운데는 몸통이고, 두 팔은 중심에서 뻗은 여덟 개의 방향 중 두 방향이다. 팔의 위치와 글자의 대응은 별도의 페이지에 있다. 이제 곰들은 짧은 메시지를 암호화하려고 한다. 곰들은 수기 알파벳에는 능숙하지만 카이사르 암호에는 도움이 필요하다. 곰들을 도와 달라.
입력
첫 줄에는 두 정수 ()과 ()가 주어진다. 은 암호화할 단어의 길이이고, 는 카이사르 암호의 상수이다. 이어서 개의 줄이 주어지며, 각 줄은 9개의 문자로 이루어진다. 연속된 9줄이 메시지의 글자 하나를 나타낸다. 문자는 ., *, # 중 하나이다. *는 각 9줄 묶음에 정확히 한 번 나오며 수기 체계의 중심을 나타낸다. #는 팔을 나타낸다. 암호화할 단어는 영문 알파벳 26자를 사용한다.
출력
암호화된 메시지를 입력과 같은 형식으로 출력한다.