Hộp cát
Đối với các mục đích của nhiệm vụ hiện tại, một khối có độ dài đơn vị được hiển thị trong phép chiếu xiên với các ký hiệu ASCII như sau:
+-----+
/ /|
+-----+ |
| | +
| |/
+-----+
+
cho các đỉnh.-
cho các cạnh X. Độ dài đơn vị dọc theo X được biểu thị bằng năm-
giữa hai đỉnh.|
cho các cạnh Y. Độ dài đơn vị dọc theo Y được biểu thị bằng hai|
giữa hai đỉnh./
cho các cạnh Z. Độ dài đơn vị dọc theo Z được biểu thị bằng một/
giữa hai đỉnh.- Các đỉnh chỉ được vẽ ở nơi cả ba mặt phẳng cắt nhau.
- Các cạnh chỉ được vẽ ở nơi chính xác hai mặt phẳng cắt nhau.
Khi một mặt đơn vị được ép đùn, nó được bù bởi độ dài đơn vị từ vị trí ban đầu và bốn cạnh mới được tạo cho mỗi hướng (dương và âm).
Bạn có thể nghĩ đến việc ép đùn như vẽ các trục của hệ tọa độ 3D Cartesian trong đó mỗi trục được biểu diễn dưới dạng hình khối với tiết diện 1x1 và chiều dài n
từ (0,0,0)
Ép đùn bởi 1 dọc theo X:
+-----------------+
/ /|
+-----------------+ |
| | +
| |/
+-----------------+
Bài tập
Cho ba số cho các trục XYZ, đùn các mặt của khối đơn vị đối xứng với số lượng được chỉ định và hiển thị kết quả bằng các ký hiệu ASCII như được chỉ định ở trên.
Đầu vào
x, y, z - số không âm - chiều dài đùn cho các trục tương ứng. 0 có nghĩa là không đùn. Đầu vào có thể là ba số, một danh sách gồm ba số, bộ ba, chuỗi hoặc bất cứ thứ gì thuận tiện cho bạn.
Đầu ra
Bản vẽ ASCII của khối lập phương sau khi đùn. Hàng đầu và dấu vết được cho phép.
Các trường hợp thử nghiệm
X Y Z
0 0 0
+-----+
/ /|
+-----+ |
| | +
| |/
+-----+
1 0 0
+-----------------+
/ /|
+-----------------+ |
| | +
| |/
+-----------------+
0 0 1
+-----+
/ /|
/ / |
/ / +
/ / /
/ / /
+-----+ /
| | /
| |/
+-----+
1 1 0
+-----+
/ /|
+-----+ |
+---| | +-----+
/ | |/ /|
+-----+ +-----+ |
| | +
| |/
+-----+ +-----+
| | +
| |/
+-----+
2 0 1
+-----+
/ /|
+-----------+ +-----------+
/ /|
+-----------+ +-----------+ |
| / /| | +
| +-----+ | |/
+---------| | +-----------+
| |/
+-----+
1 1 1
+-----+
/ /|-+
+-----+ |/|
+---| | +-----+
/ | |/ /|
+-----+-----+-----+ |
| / /| | +
| +-----+ | |/
+---| | +-----+
| |/| +
+-----+ |/
+-----+
Tiêu chí chiến thắng
Giải pháp ngắn nhất tính theo byte trong mọi ngôn ngữ sẽ thắng. Vui lòng thêm một mô tả ngắn về phương pháp được sử dụng và mã của bạn.