소개
x 축에 -2에서 2 사이의 사과 나무 줄기가 있으며, 일부 사과는 그 주위에 쓰러져 있습니다.
| |
| |
<-------|---|------->
-2 2
매일 n 개의 사과가 떨어집니다. 각 사과 는 땅에 똑바로 떨어지는 x 좌표 를 유지합니다 .
그러나 다른 사과 위에 떨어지면 사과가 땅에 닿거나 사과 층에 닿을 때까지 다음 규칙에 따라 굴러갑니다.
- 현재 높이 에서 x + 1 의 공간 이 비어 있으면 현재 사과가 이동합니다.
- 그렇지 않으면 x-1 의 공간 이 비어 있으면 현재 사과가갑니다.
- 그렇지 않으면 현재 사과는 다른 사과 위에있는 그대로 유지됩니다.
도전
입력은 각 사과 의 n 시작 위치가 순서대로 나타납니다. 배열이나 분리 된 숫자 또는 다른 유효한 방법으로 취할 수 있습니다. 답변에 설명하십시오.
출력은 나무 줄기와 사과 주변의 ASCII 그림이어야합니다. 가장 왼쪽에있는 사과 왼쪽과 가장 오른쪽에있는 사과 오른쪽에 x 축을 그릴 필요 는 없지만 일부 사과 아래에 x 축을 그려야합니다. 가장 높은 사과 위로 트리를 확장 할 수도 있습니다.
모든 x 좌표 가 -100과 100 사이이지만 -2와 2 사이는 아니라고 가정 할 수 있습니다 .
이것은 code-golf입니다 .. 바이트 단위의 최단 답변이 승리합니다!
예
입력: [-3, 5, 5, -4, -4, 5, -3]
산출:
a| |
aaa| | aaa
---|---|----
입력: [3, 3, 3, 3, 8, 9]
산출:
| |a
| |aaa aa
|---|-------
입력: [-5, -5, -5, -5, -5, -5, -5, -5, -5]
산출:
a | |
aaa | |
aaaaa| |
-----|---|
좋아하는 추억. :)
—
Martin Ender 2016 년
귀하의 예는 x 방향으로 가능한 최소한의 범위가 표시되어야 함을 나타냅니다 (나무와 사과의 왼쪽과 오른쪽에 빈 공간이 없음). 그게 필수입니까? 또한 출력을 사각형으로 채우려면 후행 공백을 인쇄 할 수 있습니까?
—
Martin Ender 2016 년
보너스는 그리 인기가 없습니다. "보이는"출력을 최소화해야한다고 생각합니다 (맨 위의 빈 행 없음, 비어있는 가장자리의 접지 셀 없음). 그러나 공백이있는 사각형에 출력을 채울 수 있습니다.
—
Martin Ender
또한 사양에서 실제로 다른 출력 형식으로 시작할 수 없기 때문에 보너스는 현재 의미가 없습니다 .
—
Martin Ender
Marbelous의 첫 번째 답변에 100 회 보상을드립니다. 떨어지는 사과는 떨어지는 구슬로 계산됩니다 ... 너무 적합합니다.
—
quintopia