(Hy vọng nó vẫn là Lễ Tạ ơn cho bạn)
Bạn có một con gà tây cho bữa tối tạ ơn của bạn nhưng bạn không biết cách phân phối đều. Vấn đề là, một số người ăn nhiều hơn những người khác, vì vậy bạn cần tìm một giải pháp
Đầu vào
Sẽ có hai đầu vào. Đầu tiên sẽ là một nghệ thuật ascii của nhiều người.
o
o \|/
\|/ |
| |
/ \ / \
thông số kỹ thuật ascii
Mỗi người chiếm một chiều rộng 3 cột. Mỗi người được ngăn cách bởi một cột không gian. Đỉnh cao của mỗi người là một o
. Bên dưới o
, bù đắp bằng 1
và -1
trong x, đang \
và /
, tương ứng. Từ hàng o
thứ hai đến hàng cuối cùng trong đầu vào là |
, số lượng của mỗi người là "chiều cao" của họ. Dữ liệu duy nhất bạn cần trích xuất từ mỗi người là "chiều cao" của họ.
Sẽ luôn có ít nhất một người. Mỗi người luôn có ít nhất 2 chiều cao. Chiều cao tối đa mà chương trình của bạn nên xử lý ít nhất là chiều cao 64.
Nếu bạn muốn đầu vào được đệm bằng khoảng trắng để tạo thành một hình chữ nhật, vui lòng chỉ định điều này trong câu trả lời của bạn.
Đầu vào thứ hai là gà tây. Gà tây không thực sự là một con gà tây, nhiều NxM
kích thước của một con gà tây. Nếu đầu vào thứ hai là 3x2
, thì gà tây có kích thước 3 * 2, với tổng diện tích là 6.
Đầu ra
Đầu ra có thể là một danh sách hoặc ngôn ngữ thay thế gần nhất của bạn (ví dụ Mảng). Bạn cũng có thể xuất ra một chuỗi, với các giá trị được phân tách bằng dấu cách.
Các giá trị cho mỗi người nên được xuất theo thứ tự mà họ đã nhập.
Thử thách
Mục tiêu của bạn là phân chia diện tích gà tây cho mọi người.
Một kịch bản ví dụ:
Giả sử họ là hai người, với chiều cao của 3
và 6
, tương ứng. Nếu có một con gà tây của 5x3
. Tổng diện tích của gà tây sẽ cần được phân phối là 15
.
Bây giờ bạn sẽ phân phối nó như thế nào với mọi người? Đây là cách thực hiện:
the_persons_height
TurkeyForAPerson = -------------------- * turkey_area
sum_of_all_heights
Điều này có nghĩa, đối với người đầu tiên có chiều cao 3
, họ sẽ nhận được 3/9*15
gà tây, hoặc 5
, người thứ hai có chiều cao 6
họ sẽ nhận được 6/9*15
hoặc 10
gà tây.
Đầu ra
Đầu ra phải chỉ bao gồm các chữ số, và .
, trừ khi bạn chọn đi lấy tiền thưởng. Trong trường hợp đó, nó chỉ có thể bao gồm các chữ số, dấu cách ( ) và dấu gạch chéo (
/
).
Ví dụ đầy đủ
Đầu vào:
6x5
o
|
o \|/
\|/ |
| |
| |
/ \ / \
Đầu ra:
11.25 18.75
Tiền thưởng
-20% Bonus: Bạn ra một phần nhỏ (phải được đơn giản hóa), nó không quan trọng cho dù đó là một phần nhỏ hỗn hợp hoặc không đúng.
Chấm điểm
Đây là mã golf để mã ngắn nhất trong byte thắng!