Ông già Noel cần một số trợ giúp để xác định có bao nhiêu yêu tinh ông sẽ cần để giúp ông giao quà cho mỗi ngôi nhà.
Than nặng hơn đáng kể so với quà tặng, vì vậy ông già Noel sẽ cần ba yêu tinh cho mỗi người nghịch ngợm trong nhà. Chỉ có hai yêu tinh là cần thiết để giúp santa mang quà.
Trên bản đồ của santa, một ngôi nhà được đại diện bởi a *
và mỗi ngôi nhà được chia cho a +
.
Sẽ có một số ở hai bên của ngôi nhà - một bên trái đại diện cho số người nghịch ngợm trong nhà, và một bên phải đại diện cho số người tốt trong nhà. Nếu không có số ở một bên thì nó được hiểu là 0.
Ông già Noel không đến thăm những người không có tinh thần Giáng sinh (họ thậm chí không xứng đáng với than đá), vì vậy đôi khi, một ngôi nhà có thể không có số ở hai bên của nó. Trong trường hợp này, santa không cần sự giúp đỡ từ bất kỳ yêu tinh nào
Ví dụ: một trong những bản đồ của ông già Noel có thể trông như thế này
1*3+2*2+1*+*2
Trong ngôi nhà đầu tiên có 1 nghịch ngợm và 3 tốt bụng, ông già Noel sẽ cần chín yêu tinh. Trong phần hai, có 2 nghịch ngợm và 2 tốt bụng, santa sẽ cần mười yêu tinh. Trong ngôi nhà thứ ba có 1 nghịch ngợm và 0 tốt đẹp, santa sẽ cần ba yêu tinh, và trong ngôi nhà cuối cùng có 0 nghịch ngợm và 2 tốt đẹp, santa sẽ cần bốn yêu tinh.
Tuy nhiên, đây là phiên bản đơn giản hóa của một trong những bản đồ của ông già Noel. Thông thường, bản đồ của santa có nhiều đường và có dạng hình vuông để phù hợp hơn với danh sách của anh ấy. Một bản đồ bình thường có thể trông giống như thế này (một \n
ở cuối mỗi dòng)
1*2+*+*4+1*
2*4+3*+1*6+*
*+*+4*2+1*1
*4+*3+1*+2*3
3*10+2*+*5+*
Trong bản đồ này, santa cần ((1 + 0 + 0 + 1 + 2 + 3 + 1 + 0 + 0 + 0 + 4 + 1 + 0 + 0 + 1 + 2 + 3 + 2 + 0 + 0) * 3) + ((2 + 0 + 4 + 0 + 4 + 0 + 6 + 0 + 0 + 0 + 2 + 1 + 4 + 3 + 0 + 3 + 10 + 0 + 5 + 0) * 2)
= 151 yêu tinh
Thử thách
Giúp santa xác định có bao nhiêu yêu tinh anh ta cần để giao hàng đến từng nhà!
Nhà
- Một ngôi nhà được đại diện bởi một
*
- Nhà bị chia cắt
+
- Số ở bên trái của ngôi nhà tượng trưng cho số người nghịch ngợm (không có số có nghĩa là 0)
- Số bên phải tượng trưng cho số người tốt (không có số có nghĩa là 0)
- Có thể có dòng mới (
\n
) trong đầu vào, cũng nên được xử lý dưới dạng phân tách
Yêu tinh
- Ông già Noel cần sự giúp đỡ của ba yêu tinh cho những người nghịch ngợm (than nặng hơn nhiều so với quà)
- Santa cần sự giúp đỡ từ hai yêu tinh cho những người tốt
- Nếu không có số ở hai bên, santa sẽ không đến thăm ngôi nhà đó và vì thế không cần bất kỳ yêu tinh nào
Phải làm gì
In số lượng yêu tinh santa cần để giúp anh ta gửi quà đến nhà. Bởi vì tất cả những gì ông già Noel cần biết là có bao nhiêu yêu tinh mang theo, bạn chỉ cần in số lượng yêu tinh cần thiết cho danh sách các ngôi nhà
Các trường hợp thử nghiệm
1*1 => 5
1*2 => 7
2*1 => 8
1* => 3
*1 => 2
* => 0
1*1+1*1 => 10
1*2+2*1 => 15
1*+*1 => 5
1*1+*+1*1 => 10
*+*+*+* => 0
Quy tắc
- Đầu vào có thể được lấy làm đối số trong hàm hoặc từ STDIN hoặc tương đương
- Đầu ra có thể là giá trị trả về của hàm hoặc được in thành STDOUT hoặc tương đương
- Các đầu vào sẽ chỉ chứa số,
+
,*
, và dòng mới\n
- Đầu ra chỉ nên là tổng số yêu tinh mà ông già Noel cần sự giúp đỡ để giao hàng vào Giáng sinh
- Áp dụng sơ hở tiêu chuẩn
Chấm điểm
Xe trượt tuyết của Santa có rất nhiều quà tặng cho anh ta ít không gian hơn để chạy mã, vì vậy anh ta cần mã ngắn nhất anh ta có thể nhận được (đừng lo lắng nếu điều này không có ý nghĩa. Nếu bạn nghi ngờ logic của Santa, bạn sẽ kết thúc trong danh sách nghịch ngợm ). Do lý do ĐÚNG của ông già Noel , bài nộp ngắn nhất tính bằng byte sẽ thắng!
Bảng xếp hạng
Đây là một Snippet Stack tạo ra cả bảng xếp hạng và tổng quan về người chiến thắng theo ngôn ngữ.
Để đảm bảo câu trả lời của bạn hiển thị, vui lòng bắt đầu câu trả lời của bạn bằng một tiêu đề bằng cách sử dụng mẫu Markdown sau
## Language Name, N bytes
Trong đó N là kích thước, tính bằng byte, của trình của bạn
Nếu bạn muốn bao gồm nhiều số trong tiêu đề của mình (ví dụ: vượt qua các điểm số cũ hoặc bao gồm các cờ trong số byte), chỉ cần đảm bảo rằng điểm thực tế là số cuối cùng trong tiêu đề của bạn
## Language Name, <s>K</s> X + 2 = N bytes
hello-world.c
. Yêu tinh công nhân được phân bổ hăng hái cho các mục tiêu như Jojodmo nói (tôi chắc chắn tôi biết Jojodmo, anh ta phải là hệ thống của chúng tôi) và sau đó sử dụng một cuộc gọi lại để thông báo khi đến lúc được đưa vào bể bơi hoặc khi một đứa trẻ nhìn thấy chúng.
max(naughty) + max(nice)
yêu tinh cho toàn bộ tuyến đường không? Tôi nghĩ rằng anh ta có một nhóm yêu tinh bay cùng anh ta, nhưng có lẽ bạn có thông tin nội bộ về điều đó và tôi cần xem xét kỹ hơn trong năm nay. :)