소개
이것은 매우 간단합니다. 우리는 아스키에서 뱀을 그릴 것입니다. 이것은 과일을 수집하고 지속적으로 자라는 오래된 뱀 게임에서 영감을 얻었습니다.
정의
뱀의 길이를 나타내는 양의 정수 N이 주어지면 뱀의 몸에 n과 머리와 꼬리가 더해 지도록 뱀을 그립니다.
부분품:
- 머리:
<, >, ^, v
- 꼬리:
@
- 수직선:
|
- 수평선 :
-
모든 모서리는 \
또는로 /
각각 만족해야합니다 . 머리가 구석에서 끝나지 않는 한 <, >, ^, v
뱀이 말리는 방향으로 머리 가 우선합니다. 즉, 길이 1의 예에서는 시계 반대 방향으로 돌리므로 헤드가 그렇게 회전합니다. 시계 방향 솔루션의 경우 오른쪽에 >
있습니다.
뱀은 꼬리가있는 가운데에서 시작해야하지만 시계 방향 또는 시계 반대 방향으로 선택한 방향으로 바깥쪽으로 갈 수 있습니다. 또한 원형으로 바깥쪽으로 확장 될 때 자체를 단단히 감싸 야합니다.
예
/--\
|/\|
||@|
|\-/
\--->
@
꼬리와 시작 위치는 어디 입니까? 위에서 볼 수 있듯이 꼬리는 가운데에서 시작하여 시계 반대 방향으로 바깥쪽으로 왼쪽으로 올라갑니다.
여기서 길이는 19
꼬리와 머리에 더해집니다.
다른 예로, 길이는 1
다음과 같습니다.
<\
@
승리
이것은 코드 골프이므로 가장 적은 수의 바이트로 제출 된 답변이 타이 브레이커로 사용될 시간과 함께 승리합니다.
즐기세요!
@
중간 이라고 말합니다 (공간을 추가하면 가능합니다). "오른쪽으로"를 방향으로 선언하고 헤드 포인트를 아래로 향하게하고 시계 방향으로 선언하십시오. 당신의 용어는 분명해 보이지만 실제로는 모호합니다. 나는 당신이 아마 코일 뱀을 가능한 한 단단하게 의미한다는 것을 알고 있지만, 당신은 그것을 분명히해야합니다
@---->
. 아마도 뱀 모양에 대해 더 엄격한 조건을 계획 할 것입니다. 또한 얼마나 많은 공백이 허용되는지 허용되지 않는지 확인하십시오