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