Chi phí tài nguyên lưới điện
Giới thiệu
Trong trò chơi bảng Power Grid , một phần không thể thiếu của trò chơi là hành động mua tài nguyên để cung cấp nhiên liệu cho các trạm điện của bạn. Có bốn loại tài nguyên được sử dụng trong trò chơi (năm, nếu bạn bao gồm năng lượng tái tạo, nhưng rõ ràng bạn không thể mua tài nguyên cho việc đó). Đó là Than, Dầu, Rác và Uranium. Thị trường tài nguyên trông như thế này:
1---- | 2---- | 3---- | 4---- | 5---- | 6---- | 7---- | 8---- | 10 | 12
CCC | CCC | CCC | CCC | CCC | CCC | CCC | CCC | U | U
OOO U | OOO U | OOO U | OOO U | OOO U | OOO U | OOO U | OOO U | 14 | 16
GGG | GGG | GGG | GGG | GGG | GGG | GGG | GGG | U | U
Khi tài nguyên được mua, chúng được lấy từ bên trái của thị trường, nơi chúng rẻ nhất. Khi các tài nguyên mới được thêm vào thị trường, chúng được thêm vào từ bên phải. Có thể thấy, điều này tạo ra sự cân bằng cung và cầu - nếu nhiều tài nguyên của một loại cụ thể được mua hơn là được bổ sung mỗi vòng, giá của tài nguyên đó sẽ tăng lên. Tương tự, nếu nó ít hơn, chi phí sẽ giảm.
Than, Dầu và Rác đều tăng chi phí với cùng một tỷ lệ, trong khi Uranium quy mô nhanh hơn nhiều. Một đơn vị chi phí tài nguyên phi Uranium 8 - floor((<units available> - 1) / 3). Một đơn vị chi phí Uranium 13 - <units available>nếu có sẵn 5 đơn vị trở lên, và 18 - (2 * <units available>)nếu không.
Ví dụ, khi bắt đầu trò chơi, có tất cả 24 đơn vị Than có sẵn để mua. Nếu người chơi đầu tiên muốn mua 4 đơn vị Than, ba đơn vị đầu tiên sẽ có giá 1 đơn vị và người thứ 4 sẽ có giá 2, làm cho tổng chi phí 5. Điều này để lại 20 đơn vị. Nếu người chơi thứ hai cũng muốn mua 4 đơn vị Than, chi phí sẽ là (2 * 2 + 2 * 3) = 10.
Các thách thức
Thách thức của bạn là viết một chương trình hoặc chức năng tính toán chi phí mua một lượng nhất định của một tài nguyên cụ thể, giả sử rằng có một lượng nhất định của tài nguyên đó có trên thị trường.
Việc gửi của bạn phải chấp nhận, ở bất kỳ định dạng đầu vào hợp lý nào và theo bất kỳ thứ tự nào, các tham số sau:
- Loại tài nguyên - được đảm bảo là một trong [C, O, G, U].
- Lượng tài nguyên đó có mặt trên thị trường - được đảm bảo là một số nguyên không âm. Nếu loại tài nguyên không phải là U, nó sẽ không lớn hơn 24. Nếu loại tài nguyên là U, nó sẽ không lớn hơn 12.
- Lượng tài nguyên mà người chơi muốn mua - được đảm bảo là số nguyên không âm nhỏ hơn hoặc bằng số tiền hiện có trên thị trường.
Đầu ra phải là chi phí của các tài nguyên được yêu cầu.
Quy tắc bổ sung
- Các công thức được đưa ra chỉ nhằm mục đích minh họa, vui lòng sử dụng bất kỳ phương pháp tính toán chi phí nào bạn muốn.
- Mã chữ cái cho các loại tài nguyên khác nhau (C, O, G, U) có thể được thay thế bằng các chữ tương đương viết thường của chúng. Bạn cũng có thể thay thế các chữ cái cho các số, dưới dạng
C=0, O=1, G=2, U=3hoặcC=1, O=2, G=3, U=4. - Đây là môn đánh gôn , vì vậy bài nộp nhỏ nhất theo byte sẽ là người chiến thắng.
- Nếu bài nộp của bạn yêu cầu đầu vào theo thứ tự hoặc định dạng khác với quy định trong phần trước, bạn nên cung cấp chi tiết.
Các trường hợp thử nghiệm
Định dạng trường hợp thử nghiệm:
resource type, amount in market, amount to buy
> result
Các trường hợp thử nghiệm:
C, 24, 4
> 5
C, 20, 4
> 10
O, 3, 3
> 24
U, 1, 1
> 16
C, 1, 1
> 8
G, 0, 0
> 0
O, 10, 7
> 44
U, 12, 4
> 10
G, 11, 4
> 22
f(G, 11, 4) = 22và f(O, 10, 7) = 44.

f("O",1,5)nào?