Giả sử chúng ta có ba số y, b và r. Có y đồ trang trí màu vàng, b đồ trang trí màu xanh và r đồ trang trí màu đỏ để trang trí. Một đồ trang trí sẽ đẹp nếu số lượng đồ trang trí màu xanh lam được sử dụng lớn hơn chính xác 1 so với số lượng đồ trang trí màu vàng và số lượng đồ trang trí màu đỏ được sử dụng lớn hơn chính xác 1 so với số lượng đồ trang trí màu xanh lam. Chúng tôi muốn chọn càng nhiều đồ trang trí càng tốt và cũng muốn làm cho trang trí của chúng tôi tốt. Chúng tôi phải tìm ra số lượng đồ trang trí tối đa được sử dụng để trang trí đẹp mắt.
Vì vậy, nếu đầu vào là y =8; b =13; r =9, thì đầu ra sẽ là 24, vì 7 + 8 + 9 =24.
Các bước
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
return 3 * (minimum of y, (b - 1) and (r - 2))
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
#include <bits/stdc++.h> using namespace std; int solve(int y, int b, int r){ return 3 * min(y, min(b - 1, r - 2)) + 3; } int main(){ int y = 8; int b = 13; int r = 9; cout << solve(y, b, r) << endl; }
Đầu vào
8, 13, 9
Đầu ra
24