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