สมมติว่าเรามีตัวเลขสามตัว y, b และ r มีเครื่องประดับสีเหลือง ข เครื่องประดับสีน้ำเงิน และเครื่องประดับสีแดงสำหรับตกแต่ง เครื่องประดับจะสวยงาม ถ้าจำนวนของเครื่องประดับสีน้ำเงินที่ใช้มากกว่า 1 เท่ากับจำนวนเครื่องประดับสีเหลือง และจำนวนของเครื่องประดับสีแดงที่ใช้มากกว่า 1 ของเครื่องประดับสีน้ำเงิน เราต้องการเลือกเครื่องประดับให้ได้มากที่สุดและต้องการให้เครื่องประดับของเราดูดีด้วย เราต้องหาเครื่องประดับให้ครบจำนวนสูงสุดเพื่อการตกแต่งที่สวยงาม
ดังนั้น ถ้าอินพุตเป็น y =8; ข =13; r =9 แล้วผลลัพธ์จะเป็น 24 เพราะ 7 + 8 + 9 =24
ขั้นตอน
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
return 3 * (minimum of y, (b - 1) and (r - 2))
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
#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; }
อินพุต
8, 13, 9
ผลลัพธ์
24