오랜만에 처음으로 여기에 포스터
X, Y 및 Z의 3 가지 입력을받는 프로그램을 작성하십시오.
- X = 가로 질러 (열)
- Y = 아래로 (행)
- Z = 위치 마커
그런 다음 프로그램은 시각적 그리드 X를 가로 질러 Y를 아래로 인쇄해야합니다. 이 그리드는 "+"를 제외한 모든 문자로 만들 수 있습니다. 각 '위치'에는 인덱스 번호가 주어지며 좌표 1 에서 1 부터 시작하여 1 부터 끝까지 카운트 다운됩니다.
X와 Y는 항상 3 이상이며 Z는 절대로 더 크지 않습니다 X * Y
.
Z는 위치에 "+"로 인쇄 된 위치와 왼쪽, 오른쪽, 위, 아래 1 문자를 나타냅니다. 예를 들면 다음과 같습니다.
+
+++
+
마지막으로 + 문자가 가장자리를 가로 채면 (맨 위, 맨 왼쪽, 맨 오른쪽 및 / 또는 맨 아래) 가장 자리가 같은 축을 따라 다시 튀어 나와 반대쪽으로 넘치게됩니다.
예 : 입력 = 5, 5, 13
-----
--+--
-+++-
--+--
-----
입력 = 10, 10, 10
-------+++
---------+
---------+
----------
----------
----------
----------
----------
----------
----------
입력 = 10, 10, 21
----------
+---------
+++-------
+---------
----------
----------
----------
----------
----------
----------
편집 : 비 사각형 예 16,3,32
---------------+
-------------+++
---------------+
나는 모든 것을 커버했다고 생각합니다. 입력에는 제한이 없어야하지만 프로그램에 필요한 경우 64 * 64로 제한하십시오.
보너스 포인트 (그렇게 할 수 있습니까?) : 입력 Z는> X * Y가 아니어야하지만 Y * Z보다 크면 가운데 +를 그리드의 중간으로 출력하십시오.
편집 : 입력 Z는 X * Y보다 클 수 없습니다
편집 2 :. X와 Y가 약간 더 명확하게 변경되었습니다.
이것은 코드 골프, 가장 짧은 코드 승리입니다.