이 튜토리얼에서는 일반 N면 다각형에서 제3자의 위치를 찾는 방법을 배울 것입니다.
우리는 정다각형의 다각형을 주었습니다. 그리고 이미 다른 두 지점에 두 사람이 있습니다. 우리의 임무는 첫 번째 두 사람과 세 번째 사람 사이의 거리가 최소화되도록 세 번째 사람을 배치할 세 번째 지점을 찾는 것입니다.
문제를 해결하는 단계를 살펴보겠습니다.
-
N과 두 점 A와 B를 초기화합니다.
-
제3자의 위치를 초기화하고, 그 위치를 찾기 위한 최소 합을 초기화합니다.
-
1에서 N까지 반복합니다.
-
현재 위치가 A 또는 B인 경우 건너뜁니다.
-
현재 위치와 A, B의 절대차의 합을 구하세요.
-
최소합계와 비교해보세요.
-
현재 합계가 최소 합계보다 작으면 위치와 최소 합계를 업데이트합니다.
-
-
세 번째 사람의 위치를 인쇄하십시오.
예
코드를 봅시다.
#include <bits/stdc++.h> using namespace std; int findThirdPersonStandingVertex(int N, int A, int B) { int position = 0; int minimum_sum = INT_MAX, sum; for (int i = 1; i <= N; i++) { // skipping the predefined vertices if (i == A || i == B) { continue; } else { // length between the current vertext to A and B sum = abs(i - A) + abs(i - B); // checking whether the current sum is less than previous sum if (sum < minimum_sum) { // updating the minimum sum and position of vertext minimum_sum = sum; position = i; } } } return position; } int main() { int N = 7, A = 5, B = 7; cout << "Vertex: " << findThirdPersonStandingVertex(N, A, B) << endl; return 0; }
출력
위의 프로그램을 실행하면 다음과 같은 결과를 얻을 수 있습니다.
Vertex: 6
결론
튜토리얼에서 질문이 있는 경우 댓글 섹션에 언급하세요.