Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

รหัส C++ เพื่อค้นหาโคมไฟที่จำเป็นในการส่องสว่างพื้น


สมมติว่า มีพื้นแบ่งออกเป็นตารางที่มี n แถวและ m คอลัมน์ ตอนนี้พื้นจะต้องสว่างโดยใช้โคมไฟ หลอดไฟ หากวางไว้ที่ขอบของเซลล์สองเซลล์ จะทำให้เซลล์สองเซลล์สว่างขึ้น หากวางหลอดไฟไว้ที่ขอบแนวตั้ง ไฟจะส่องเซลล์ไปทางซ้ายและขวา และหากวางไว้ในแนวนอน ไฟจะส่องสว่างเซลล์ที่ด้านหน้าและด้านหลัง เมื่อให้ n และ m เราต้องหาจำนวนหลอดไฟขั้นต่ำที่จำเป็นในการส่องสว่างทั้งพื้น

ดังนั้น หากอินพุตเป็น n =5, m =3 เอาต์พุตจะเป็น 8

ขั้นตอน

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

res := (n * m + 1) / 2
return res

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

#include <bits/stdc++.h>
using namespace std;
#define N 100
int solve(int n, int m) {
   int res = (n * m + 1) / 2;
   return res;
}
int main() {
   int n = 5, m = 3;
   cout<< solve(n, m);
   return 0;
}

อินพุต

5, 3

ผลลัพธ์

8