Computer >> Máy Tính >  >> Lập trình >> C ++

Giao điểm tối đa có thể có bằng cách di chuyển tâm của các đoạn thẳng trong C ++

Trong hướng dẫn này, chúng ta sẽ thảo luận về một chương trình tìm điểm giao cắt lớn nhất có thể bằng cách di chuyển tâm của các đoạn thẳng

Đối với điều này, chúng tôi sẽ được cung cấp với tâm của ba đoạn thẳng và độ dài của chúng. Nhiệm vụ của chúng ta là di chuyển tâm của chúng theo khoảng cách K để tăng chiều dài của vùng giao nhau.

Ví dụ

#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);
}

Đầu ra

1