이것은 Loopy 퍼즐 생성 도전에 대한 추가 도전입니다. 이전 링크에서 어려운 문제를 시도하기 전에이 문제를 해결하고 싶을 수도 있습니다.
이 과제의 목표는 솔루션을 반복 퍼즐로 검증하는 것입니다. 이전 링크의 루프 퍼즐에 대한 모든 문서를 가져 가십시오. 해결 된 루피 퍼즐은 "루프 퍼즐 생성"챌린지에 대한 유효한 제출 결과와 매우 유사한 방식으로 구성되며 다음과 같이 보일 수 있습니다.
+-+-+ +-+ +-+ +
| | | |2|3|
+-+ + + + + +-+
2| | | |2| 3|
+ + +-+ + + +-+
2| 2 1|3| |
+-+ +-+ +-+ +-+
|2 | | 1 2|
+ +-+ +-+ +-+ +
| |2 1 2|3|3| |
+ + +-+ +-+ +-+
| | |3|2 1
+ +-+ +-+-+-+-+
| 2 2 |
+-+-+-+-+-+-+-+
솔루션을 구성하는 경로가 표시되어 |와 -문자 사이에 +문자.
입력 사양
귀하의 프로그램은 위의 예와 같은 형식의 솔루션이 입력 된 반복적 인 퍼즐을받습니다. 프로그램은 입력에서 퍼즐의 크기를 추론해야합니다. 입력에 대해 다음과 같은 가정을 할 수 있습니다.
- 퍼즐은 어느 방향 으로든 2 개 이상 99 개 이하의 셀을 갖습니다.
- 따라서 각 줄은 개행 문자를 포함하지 않는 최대 길이가 199 자입니다.
- 따라서 입력에는 최대 99 개의 라인이 포함됩니다
- 각 줄은 마지막 인쇄 가능한 문자 다음에 끝날 수 있거나 공백 문자로 채워질 수 있으므로 최대 2 · y + 1 자의 길이를 갖습니다. 여기서 y 는 가로 방향의 셀 수입니다
- x 와 y 좌표를 가진 각 위치 는
+문자를 포함합니다. +문자를 포함 하는 위치에 가로 또는 세로로 인접한 위치 공백 문자를 포함하거나 줄 끝 뒤에 있거나-가로로 인접한|경우 문자 또는 세로로 인접한 경우 문자- 다른 모든 위치가 라인의 끝에 뒤에 하나 또는 포함 된 문자 중 하나
,0,1,2, 또는3 - 모든 줄은 플랫폼 기본 줄 바꿈 문자로 종료됩니다
- 정확히 하나의 후행 줄 바꿈이 있습니다
입력은 다음 방법 중 하나로 수신되어야합니다.
- 표준 입력에서
pHTTP POST 요청에서 이름 지정된 매개 변수의 값으로- HTML 양식의 내용으로
p구현 정의 디렉토리에 이름이 지정된 파일의 내용으로- 이전 4 개를 사용할 수없는 경우 런타임시 정의 된 구현 방식
- 언어가 입력을받을 수단을 제공하지 않으면 하드 코딩 됨
출력 사양
프로그램은 입력 사양과 일치하는 모든 입력에 대해 종료하고 퍼즐 솔루션이 올바른지 계산해야합니다. 프로그램은 계산 결과를 다음 방법 중 하나로 부울 값으로 출력해야합니다.
- 종료 상태가 0 (솔루션이 유효 함) 또는 0이 아닌 경우 (솔루션이 유효하지 않음)
- 문자
y(솔루션이 유효 함) 또는n(솔루션이 유효하지 않음) 다음에 구현 정의 방식으로 0 개 이상의 임의의 문자가 출력 됨
입력 스펙에 따라 형식화되지 않은 입력이 발생할 때 프로그램의 동작은 지정되지 않습니다.
채점
프로그램 점수는 생략 가능한 공백 문자와 생략 가능한 주석을 제외한 소스의 문자 수입니다. 제출 한 내용을 들여 쓰면 다른 사람이 쉽게 읽을 수 있고 답을 찾기 쉽게 답할 수 있습니다.
입력 또는 출력 사양을 따르지 않거나 잘못된 결과를 생성하는 제출은 유효하지 않습니다.
0에서 셀의 유효한 숫자이기도합니다.