이 질문의 목적을 위해 사행 곡선은 일반적인 방향을 왼쪽에서 오른쪽으로 따르는 곡선이지만 n + 1을 왼쪽으로 90도 회전 한 다음 n + 1을 오른쪽으로 회전합니다 (n> 0의 경우).
실제로 사행 자체에는 n
세그먼트 가 있습니다.
턴은로 표시됩니다 +
.
구불 구불 한 너비 (2 사이의 거리 +
)는 수평선 ( ---
) 에서 3 , 수직 (1)에서|
)
다음은 단일 세그먼트의 크기 n이 1 ~ 5 인 구불 구불 한 곡선입니다.
+-------------------+
| |
+---------------+ | +-----------+ |
| | | | | |
+-----------+ | +-------+ | | | +---+ | |
| | | | | | | | | | | |
+-------+ | +---+ | | +---+ | | | +---+ | | |
| | | | | | | | | | | | | |
+---+ +---+ | +---+ | | +-------+ | | +-----------+ | |
| | 1 | | 2 | | 3 | | 4 | | 5
---+ +-------+ +-----------+ +---------------+ +-------------------+ +
도전:
양수 2 개가 주어 n
지고 크기가있는 구불 구불 한 곡선의 선분을 그 m
립니다.m
n
. 전체 프로그램이나 함수를 작성할 수 있습니다.
입력:
n
> 0 커브의 크기
m
> 0 그릴 세그먼트 수
산출:
구불 구불 한 곡선의 ASCII 표현.
예 :
n = 3
m = 2
+-----------+ +-----------+
| | | |
| +---+ | | +---+ |
| | | | | | | |
+---+ | | +---+ | |
| | | |
-----------+ +-----------+ +
n = 2
m = 5
+-------+ +-------+ +-------+ +-------+ +-------+
| | | | | | | | | |
+---+ | +---+ | +---+ | +---+ | +---+ |
| | | | | | | | | |
-------+ +-------+ +-------+ +-------+ +-------+ +
n = 4
m = 4
+---------------+ +---------------+ +---------------+ +---------------+
| | | | | | | |
| +-------+ | | +-------+ | | +-------+ | | +-------+ |
| | | | | | | | | | | | | | | |
| +---+ | | | +---+ | | | +---+ | | | +---+ | |
| | | | | | | | | | | | | | | |
+-------+ | | +-------+ | | +-------+ | | +-------+ | |
| | | | | | | |
---------------+ +---------------+ +---------------+ +---------------+ +
우승 기준 :
이것은 code-golf 이므로 각 언어에서 가장 짧은 바이트 단위의 코드가 이깁니다. 시간이 있다면 코드를 설명해주세요.
n
좌회전 되지 않습니까?
n+1
특히 단일 세그먼트 사이의 예를 볼 때라고 생각합니다 .