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

ทางแยกที่เป็นไปได้สูงสุดโดยการย้ายศูนย์กลางของส่วนของเส้นตรงใน C++


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

สำหรับสิ่งนี้ เราจะจัดให้มีจุดกึ่งกลางของส่วนของเส้นตรงสามส่วนและความยาวของเส้นเหล่านั้น งานของเราคือย้ายจุดศูนย์กลางเป็นระยะทาง K เพื่อเพิ่มความยาวของพื้นที่ทางแยก

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;
//finding maximum intersection
int max_intersection(int* center, int length, int k) {
   sort(center, center + 3);
   if (center[2] - center[0] >= 2 * k + length) {
      return 0;
   }
   else if (center[2] - center[0] >= 2 * k) {
      return (2 * k - (center[2] - center[0] - length));
   }
   else
      return length;
}
int main() {
   int center[3] = { 1, 2, 3 };
   int L = 1;
   int K = 1;
   cout << max_intersection(center, L, K);
}

ผลลัพธ์

1