첫 줄에 공백이 있고 하나의 마침표 ( ., "공")가 있고 그 뒤에 공백, 슬래시 ( /) 및 백 슬래시 ( )가 포함 된 줄이있는 \경우, 공이 시작 위치에서 떨어지면 어느 열이 들어갈 지 결정하십시오. . 각각 /1 열씩 왼쪽으로 \이동하고 1 열씩 오른쪽으로 이동합니다.
샘플 입력
.
/ \ \
/ /
\ \/ \
\ /\
\ /\ \
\ /
샘플 출력
공은 5 열에서 시작하여 /3 번 라인에서 3 번을 치고 \5 번에서 7 번 라인 에서 3 번의 최종 위치는 다음과 같습니다.
7
열은 1- 인덱싱되며 대부분 텍스트 편집기 규칙과의 일관성을 유지합니다.
가장자리 케이스
공이 /첫 번째 열에서 a 를 치면 , 존재하지 않는 열 0에 영원히 붙어 있습니다 0. 프로그램은 이것을 인쇄하여 올바르게 처리해야합니다 .
볼이 \/패턴 의 양쪽에 닿으면 결과는 정의되지 않습니다. 귀하의 프로그램은 출력없이 종료되거나 무한 루프되거나 오류 메시지를 -1인쇄 할 수 있지만 (내 솔루션은 인쇄합니다 ) 유효한 출력으로 인식 될 수있는 것을 인쇄해서는 안됩니다.
공이 \\패턴 에서 왼쪽 슬래시에 닿으면 오른쪽이 아닌 오른쪽 슬래시 바로 아래로 끝나야합니다. 원래 구상 한 솔루션은이 문제가 발생하기 쉽기 때문에 그 길을 놓치지 마십시오!
.마지막 /또는 \각 줄 다음에 공백이있을 수도 있고 없을 수도 있습니다 . 프로그램은 이러한 패딩을 사용할 수 있어야합니다. 비슷한 메모에서 첫 번째 줄 다음에 줄이있을 수도 있고 없을 수도 있습니다.
첫 번째 줄에 0 개 이상의 공백이 있고 정확히 1 개가 있다고 가정 할 수 있습니다 .. 후속 행은 공백이없고 슬래시가 0 이상입니다.
구현 세부 사항
프로그램은 사용자 편의에 따라 파일 (명령 줄 인수로 지정)에서 읽거나 표준 입력에서 읽을 수 있습니다.
프로그램은 단일 숫자를 표준 출력으로 출력해야합니다. (예, 후행 줄 바꿈은 괜찮습니다. 예, 숫자가 두 자리 이상일 수 있습니다.)
테스트 사례
입력:
.산출:
1여기서 입력은 정확히 1 바이트입니다. 처리 할 수있는 가장 작은 경우입니다.
입력:
. \ \ \ \산출:
6이 슬래시 다음에는 공백이 없습니다.
입력:
. / /\\ / \ //\ \/// // \\/ \/\ /\/산출:
0
입력:
. / / / \\\ /\\ / \산출:
1
입력:
. \ / / \산출:
4
입력:
. \ \/\/\/산출:
(anything but a nonnegative number)
맺음말
이 질문은 (중력 기반) 당구 공 유형 컴퓨터 시뮬레이션 과 유사 하지만 훨씬 더 단순하므로 더 많은 관심을 끌기를 바랍니다.
파이썬에는 169 자 솔루션이 있습니다. 그래도 재능있는 골퍼들이 그 기록을 조각으로 찢을 수 있다고 확신합니다. : ^)
이것은 code-golf 이므로 월말에 가장 짧은 문자 답변이 허용됩니다!