สมมติว่ามี 'a' จำนวนแมตช์ และ 'b' จำนวนการประชุมข่าวในสนามในสัปดาห์หนึ่ง มีห้องอาหารสองแห่ง หนึ่งในห้องล็อคเกอร์ผู้เล่น อีกแห่งในพื้นที่ประชุมข่าว มีเครื่องจ่ายน้ำอัดลมสองเครื่อง ต้องเติมน้ำต้นสัปดาห์ ห้องล็อคเกอร์ใช้หนัก ต้องเติมทุก 'c' เกม ห้องประชุมข่าวเติมทุก 'd' เหตุการณ์ คณะบำรุงรุงสั่ง k แพ็คต้นสัปดาห์ x แพ็คห้องล็อคเกอร์ y แพ็คห้องประชุม x + y <= k ต้องหา x และ y ถ้าต้องมากกว่า k พิมพ์ "Limit Exceeded"
เช่น ถ้าอินพุตคือ a = 8, b = 8, c = 4, d = 6, k = 9 เอาต์พุตจะเป็น 2, 2
ขั้นตอนการแก้ปัญหา
a := (c + a - 1) / c
b := (d + b - 1) / d
if a + b <= k:
print(a, b)
otherwise:
print("Limit Exceeded")
ตัวอย่างโค้ด
#include <bits/stdc++.h>
using namespace std;
void solve(int a, int b, int c, int d, int k) {
a = (c + a - 1) / c;
b = (d + b - 1) / d;
if (a + b <= k)
cout << a << " " << b << "\n";
else
cout << "Limit Exceeded." << "\n";
}
int main() {
int a = 8, b = 8, c = 4, d = 6, k = 9;
solve(a, b, c, d, k);
return 0;
}
อินพุต
8, 8, 4, 6, 9
เอาต์พุต
2 2