สมมติว่ามีสามกลุ่มคนมางานเลี้ยง กลุ่มแรกชอบไอศกรีมบัตเตอร์สคอตช์เท่านั้น กลุ่มที่สองไม่ชอบสตรอว์เบอร์รี่แต่ชอบรสอื่นๆ กลุ่มที่สามชอบทุกรส มีคนกลุ่มแรก x คน กลุ่มที่สอง y คน กลุ่มที่สาม z คน ทุกคนต้องได้ไอศกรีมอย่างน้อย 1 ชิ้นที่ชอบ ผู้จัดนำไอศกรีมบัตเตอร์สคอตช์ a กล่อง ช็อกโกแลต b กล่อง สตรอว์เบอร์รี่ c กล่อง ต้องหาว่าทุกคนได้ไอศกรีมที่ชอบหรือไม่
เช่น ถ้าอินพุตคือ a = 6, b = 5, c = 5, x = 3, y = 8, z = 4 เอาต์พุตจะเป็น Possible
ขั้นตอนการแก้ปัญหา
if a < x หรือ a + b < x + y หรือ a + b + c < x + y + z:
print("Not Possible.")
otherwise:
print("Possible.")
ตัวอย่างโค้ด
#include <bits/stdc++.h>
using namespace std;
void solve(int a, int b, int c, int x, int y, int z) {
if (a < x || a + b < x + y || a + b + c < x + y + z)
cout << "Not Possible.";
else
cout << "Possible.";
}
int main() {
int a = 6, b = 5, c = 5, x = 3, y = 8, z = 4;
solve(a, b, c, x, y, z);
return 0;
}
อินพุต
6, 5, 5, 3, 8, 4
เอาต์พุต
Possible.