Giới thiệu
Tangrams là một câu đố cổ điển liên quan đến việc sắp xếp / lắp các khối thành nhiều hình dạng khác nhau. Từ tiếng Trung - nghĩa đen là "bảy bảng kỹ năng". Hãy lấy ý tưởng này và sử dụng bảy mảnh Tetrominos để lấp đầy lưới.
Thử thách
Viết một hàm hoặc chương trình lấy một mảng tọa độ lưới làm đầu vào và xuất ra một lưới 10 x 20 hoàn thành chứa đầy các mảnh Tetris ngoại trừ trong các tọa độ đã chỉ định.
Tối ưu hóa điểm số của bạn bằng cách cố gắng giữ cho phân phối đồng đều.
Tiêu chí
Sử dụng pastebin tọa độ này để hoàn thành nhiệm vụ của bạn. Có năm bộ tọa độ. Vui lòng sửa đổi định dạng trong đó các tọa độ được viết, nhưng không phải là các giá trị.
Không thể giải quyết tập dữ liệu số 2 - trong trường hợp này, chỉ cần xuất lưới với các ô nhập liệu được điền vào (nghĩa là X
vị trí của các lỗ).
Đầu vào
Tọa độ lưới đại diện cho 'lỗ' trong lưới. Đây là những tế bào không thể chứa bất kỳ phần nào của Tetromino.
Tọa độ lưới:
(0,0), (1,0), (2,0), ... (9,0)
(0,1), (1,1), (2,1), ... (9,1)
.
.
.
(0,19), (1,19), (2,19), ... (9,19)
Sử dụng kiểu lựa chọn ngôn ngữ lập trình của bạn để nhập tọa độ.
Thể hiện các lỗ trên lưới bằng một
X
hoặc ASCII có thể in khác .
Đầu ra
Sử dụng kích thước lưới Tetris tiêu chuẩn rộng 10 ô, cao 20 ô , in lưới giải pháp nếu và chỉ khi lưới có thể được lấp đầy hoàn toàn và hoàn hảo bằng các mảnh Tetromino.
Mẩu xây dựng với chữ I
, O
, L
, J
, T
, Z
, S
như sau:
I
I L J
I OO L J T ZZ SS
I OO LL JJ TTT ZZ SS
Thí dụ
Ví dụ giải pháp đầu ra không có tọa độ đầu vào:
ZZIIIILLLI
JZZTTTLLLI
JJJSTLOOLI
SZZSSLOOLI
SSZZSLLJJI
TSOOSLLJII
TTOOSSLJII
TZOOSSLZII
ZZOOSSZZII
ZJJJJSZLLI
TTTJJOOILI
ITZJJOOILI
IZZTTTLIII
IZOOTZLIII
IJOOZZLLII
LJJJZSSTII
LLLTSSTTTI
LLLTTSSZJI
OOLTSSZZJI
OOIIIIZJJI
Với phân phối như sau:
I
I L J
I OO L J T ZZ SS
I OO LL JJ TTT ZZ SS
11 6 8 6 6 7 6
Ghi chú
Tọa độ đại diện cho một đơn X
và Y
vị trí trên lưới. Lưới dựa trên 0, nghĩa là tọa độ (0,0)
phải là ô trên cùng bên trái hoặc ô dưới cùng bên trái, là lựa chọn của tác giả.
Gạch có thể:
- được lựa chọn theo ý của tác giả.
- được xoay như tác giả thấy phù hợp.
- được đặt trên lưới bất cứ nơi nào theo ý của tác giả (còn gọi là: không có trọng lực Tetris)
Gạch không thể:
- được đặt bên ngoài giới hạn của lưới điện.
- chồng lên một viên gạch hoặc lỗ hiện có trong lưới.
- là một mảnh tetromino Tetris không chuẩn.
Chấm điểm
Điểm của bạn là ở định dạng:
(1000 - [byte trong mã]) * (M / 10 + 1)
Trong đó M là một số nhân để phân phối các mảnh được sử dụng trong các bộ giải pháp của bạn.
Điểm số cao nhất bởi Ides of March chiến thắng.
Để tính M, hãy thêm giá trị phân phối tetromino riêng lẻ thấp nhất cho mỗi bộ và sau đó lấy giá trị trung bình làm tròn xuống để tính M.
Ví dụ:
Set 1: 5
Set 2: 4
Set 3: 5
Set 4: 6
Set 5: 3
6 + 4 + 5 + 4 + 4 = 21/5 = 4.6
Vì vậy, bạn sẽ sử dụng 4
như giá trị M của bạn .
Lưu ý: Nếu một tập hợp không có giải pháp, đừng đặt yếu tố đó vào tính toán M, vì nó sẽ không có phân phối tetromino.