인쇄 가능한 ASCII (16 진수 코드 20 ~ 7E) 만 사용하여 4 개의 레이어로 둘러싸인 주석없이 정사각형 NxN 코어 프로그램 을 작성하여 (N + 8) × (N + 8) 정사각형 프로그램 (N> 0)을 만듭니다. . N = 3의 경우 레이아웃 (실제 코드로 대체 됨)은 다음과 같습니다.
44444444444
43333333334
43222222234
43211111234
4321CCC1234
4321CCC1234
4321CCC1234
43211111234
43222222234
43333333334
44444444444
- C는 핵심 3 × 3 프로그램을 나타냅니다.
- 1은 첫 번째 레이어를 나타내고 2는 두 번째 레이어를 나타냅니다.
프로그램은 항상 0 -1 31 -1 2 2 2
stdin 또는 이와 유사한 것을 통해 공백으로 구분 된 정수 문자열을 취합니다 (일반 숫자, 따옴표 또는 괄호 또는 아무것도 아니어야 함). 출력은 레이아웃의 어떤 부분이 실행되었는지에 달려 있습니다.
프로그램을 실행하는 다섯 가지 방법이 있습니다 (줄 바꿈이 실행에 포함됨). 각각은 목록과 다른 것을 수행합니다.
핵심 만 실행하십시오.
CCC CCC CCC
입력 목록 요소의 최대 절대 값을 계산하고
CORE
여러 번 새 줄에 인쇄합니다 . 최대 값이 0이면 아무것도 출력되지 않습니다 (개행은 괜찮습니다).에 대한 출력
0 -1 31 -1 2 2 2
될 것이다CORE CORE ...
31 번
레이어 1로 코어를 실행하십시오.
11111 1CCC1 1CCC1 1CCC1 11111
그러면 목록 값 의 평균 ( 산술 평균 )이 표준 부동 소수점 정밀도로 출력됩니다.
- 에 대한 출력은
0 -1 31 -1 2 2 2
35 / 7 =5
(5.0
괜찮습니다)입니다.
- 에 대한 출력은
레이어 1과 2로 코어를 실행하십시오.
2222222 2111112 21CCC12 21CCC12 21CCC12 2111112 2222222
입력 목록의 공백으로 구분 된 목록이 반대로 출력됩니다.
- 의 출력은
0 -1 31 -1 2 2 2
입니다2 2 2 -1 31 -1 0
.
- 의 출력은
레이어 1, 2 및 3으로 코어를 실행하십시오 (패턴은 분명해야 함).
정렬 된 입력 목록의 공백으로 구분 된 목록을 출력합니다.- 의 출력은
0 -1 31 -1 2 2 2
입니다-1 -1 0 2 2 2 31
.
- 의 출력은
레이어 1, 2, 3 및 4로 코어를 실행합니다.
그러면 중복 된 항목이 제거 된 입력 목록의 공백으로 구분 된 목록이 출력되며 순서는 중요하지 않습니다.- 의 출력
0 -1 31 -1 2 2 2
은입니다-1 0 2 31
.
- 의 출력
모든 출력은 stdout 또는 이와 유사한 대안입니다.
이 5 가지 레이아웃 조합 만 동작을 지정했습니다.
노트
- 코어 또는 층 또는 이들의 조합에는 주석이 허용되지 않습니다 . no-op이거나 건설적인 코드는 주석으로 간주되지 않습니다.
- 코어는 (양의) NxN 치수를 가질 수 있지만 레이어는 한 문자 두께입니다.
- 입력에 선행 또는 후행 공백이없고 숫자 사이에 정확히 하나의 공백이 있다고 가정 할 수 있습니다. 항상 하나 이상의 숫자를 포함합니다. (출력 목록도 이와 같이 형식화되어야합니다.)
- 출력에 필요한 목록과 계산에 정수가 오버플로 (또는 언더 플로)되는 값이 없다고 가정 할 수 있습니다 (최대 값이 2 16 과 같은 합리적인 값이라면 ).
채점
이 프로그램을 작성하는 것은 일반적으로 쉽습니다. 작은 코어로 작성하는 것은 어렵습니다.
가장 작은 코어 크기 (가장 작은 N)를 가진 프로그램이 승리합니다. 동점 인 경우, 가장 적은 고유 문자 (개행을 계산하지 않음)를 가진 전체 프로그램 ((N + 8) × (N + 8) 정사각형)이 승자가됩니다.
답의 맨 위에 N 값을보고하십시오.