문제
a
a가 출력의 각 '블록'에 대해 하나의 요소 만있는 한 입력 형식의 문자 그리드 인 입력 이 주어 집니다.
그리고 b
여기서 b는 input 과 크기가 같은 숫자의 격자입니다 a
.
두 가지 유형의 도로가 있습니다. 1은 표시가있는 석재 도로 @
, 2는 표시가있는 비포장 도로를 나타냅니다.#
@
도로 블록에 중심과도 인접 경우 좁은 크기, 즉 측면 격자 셀의 경계로 확장된다#
도로에 인접하는 경우도 상기 블록의 중심 사이즈는 4 × 4, 즉 측면 격자 셀의 경계로 확장된다
출력 그리드 입력의 ASCII 문자의 8 × 8의 줄 번호에 의해 오프셋 a
및 입력에서 '길'오버레이 b
예를
입력 a=[[a,b,a],[b,a,b],[a,b,a]] b=[[1,1,1],[2,0,1],[2,0,0]]
산출:
1 단계 : 그리드 (입력의 8x8 표현 a
)
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
bbbbbbbbaaaaaaaabbbbbbbb
bbbbbbbbaaaaaaaabbbbbbbb
bbbbbbbbaaaaaaaabbbbbbbb
bbbbbbbbaaaaaaaabbbbbbbb
bbbbbbbbaaaaaaaabbbbbbbb
bbbbbbbbaaaaaaaabbbbbbbb
bbbbbbbbaaaaaaaabbbbbbbb
bbbbbbbbaaaaaaaabbbbbbbb
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
2 단계 :로 표시된 도로 오버레이 b
:
aaaaaaaabbbbbbbbaaaaaaaa
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@abbbbbbbba@@@@@@a
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaabbbbbbbb
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
3 단계 : 라인 번호로 각 라인을 오프셋합니다.
aaaaaaaabbbbbbbbaaaaaaaa
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@abbbbbbbba@@@@@@a
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaabbbbbbbb
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
규칙 :
- 선행 공백 또는 줄 바꿈이 허용됩니다.
- 후행 공백과 개행이 허용됩니다.
- 이것은 코드 골프이므로 가장 짧은 코드가 승리합니다.
여기 에 내가 생각할 수있는 모든 엣지 케이스가있는 추가 테스트 케이스가 있습니다.
왜 한 줄만 허용합니까? 공백이있는 줄 바꿈이있을 수 있습니까?
—
dzaima
추가 테스트 사례에서 array
—
Zgarb
a
는 array 보다 작습니다 b
.
@dzaima 왜 더 허용해야합니까?
—
LiefdeWen
@LiefdeWen 그들은 나쁜 일을하지 않고 더 많은 골프 기회를 제공합니다
—
dzaima
귀하의 질문이 잘 정의되어 있지 않은 것 같습니다. 먼저 테스트 사례에서 입력의 두 번째 행은 is
['.', ',', '.', ',', '.', ',', '.']
이지만 출력은 해당 행과 같습니다 [',', '.', ',', '.', ',', '.', ',']
. 또한 테스트 사례의 출력으로 이것을 막을 수있는 것은 다음과 같습니다. gist.github.com/anonymous/dfcf3b754464f3ca4394d34e9f3bf123 입력 b의 첫 번째 행에서 두 번째 1은 두 개의 2에 인접합니다. 왜 처음 2 (같은 행)에만 연결하기로 선택 했습니까?