입력은 이웃 정보 가있는 i 개의 행으로 구성됩니다 . 각 i 번째 행에는 북쪽 , 동쪽 , 남쪽 및 서쪽 방향 에 대한 i 의 이웃을 각각 나타내는 4 개의 값이 있습니다. 따라서 각 값은 1 행부터 시작 하여 i 번째 행 의 지정된 방향에있는 이웃을 나타내며 최대 65,535 행이 될 수 있습니다. 0 값이 그 방향에 어떤 이웃을 나타냄.
예를 들어, 첫 번째 행이 "0 2 3 10"인 경우 i 이웃은 북쪽에 아무도 없음, 이웃 2 는 동쪽, 이웃 3 은 남쪽, 이웃 10 은 서쪽에 3 개의 다른 이웃이 있음을 의미합니다 .
가장 북서쪽에있는 값부터 시작하여 이웃 배열을 출력해야합니다. 각 이웃은 다른 사람에 비해 그 위치에 한 번만 표시됩니다. 몇 가지 예를 보자.
입력:
0 0 0 0
이웃 없음 (빈 경우), 출력 :
1
입력:
0 2 0 0
0 0 0 1
1은 동쪽에 이웃 2가 있습니다. 2 서쪽에 이웃 1이 있습니다
산출:
1 2
입력:
0 2 0 0
0 0 3 1
2 0 0 0
1은 동쪽에 이웃 2가 있습니다. 2는 이웃 1이 서쪽에, 3이 남쪽에 있습니다. 3은 북쪽에 이웃 2가 있습니다
산출:
1 2
3
입력:
2 0 0 0
0 0 1 0
산출:
2
1
입력:
0 2 3 0
0 0 4 1
1 4 0 0
2 0 0 3
산출:
1 2
3 4
규칙 :
테스트 사례는 하나의 빈 줄로 구분됩니다 . 다른 테스트 사례의 출력도 하나의 빈 줄로 분리해야합니다.- 출력 그래프는 항상 연결되어 있습니다. 1 개의 이웃에서 2로만, 3 개의 이웃에서 4로만 (1-2 구성 요소에서 분리) 가질 수 없습니다.
- 모든 항목이 유효합니다. 유효하지 않은 항목의 예 :
- 공백, 줄 바꿈 및 숫자 (0-9)와 다른 문자 또는 기호가 포함 된 항목
- i 번째 값을 포함 하는 i 번째 행 (자체 이웃이 될 수 없으므로).
- 음수 또는 65,535보다 큰 값
- 행에서 4 개 미만의 값.
- 한 행에 4 개 이상의 값이 있습니다.
- 동일한 이웃이 서로 다른 두 방향을 가리키고 있습니다 (예 : 0 1 1 0).
표준 허점이 적용되며 바이트 단위의 최단 답변이 이깁니다.
4
테스트 사례는 하나의 빈 줄로 구분됩니다 . 이는 특별한 요구 사항입니다. 일반적으로 챌린지 항목은 한 번에 하나의 테스트 케이스 (호출 당 하나씩)를 처리합니다. 챌린지 항목이 한 번에 둘 이상의 테스트 케이스를 처리 할 수 있다면 훌륭하지만 여러 테스트 케이스 항목의 형식을 지정하는 방법을 엄격하게 지정하는 것은 별 가치가 없습니다.
—
Digital Trauma
출력이 출력과 어떻게 관련되는지 이해하지 못합니다. "이웃 배열"의 의미와이 배열을 작성해야하는 규칙에 대해 자세히 설명 할 수 있습니까?
—
Stewie Griffin
아야 아, 알 겠어요 이웃이 열거
—
Stewie Griffin
1,2,...됩니다. 비록 그들은 동쪽에 2 개의 "단위", 남쪽에 1 개의 "단위"등이있었습니다. 이해할 수 없었습니다.
@StewieGriffin 네, 분명하기 전에 몇 번 읽어야했습니다
—
Digital Trauma