Trong hướng dẫn này, chúng ta sẽ học cách tìm vị trí của ngôi thứ ba trên một đa giác đều N cạnh.
Chúng ta đã cho một đa giác đều N cạnh. Và đã có hai người ở hai điểm khác nhau. Nhiệm vụ của chúng ta là tìm ra điểm thứ ba để đặt ngôi thứ ba sao cho khoảng cách giữa hai ngôi thứ nhất và ngôi thứ ba được giảm thiểu.
Hãy xem các bước để giải quyết vấn đề.
-
Khởi tạo N và hai điểm A và B.
-
Khởi tạo vị trí của người thứ ba và tổng tối thiểu để tìm vị trí.
-
Lặp lại từ 1 đến N.
-
Nếu vị trí hiện tại là A hoặc B, hãy bỏ qua nó.
-
Tìm tổng chênh lệch tuyệt đối giữa vị trí hiện tại và A, B.
-
So sánh nó với tổng tối thiểu.
-
Nếu tổng hiện tại nhỏ hơn tổng tối thiểu, thì hãy cập nhật vị trí và tổng tối thiểu.
-
-
In vị trí của người thứ ba.
Ví dụ
Hãy xem mã.
#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; }
Đầu ra
Nếu bạn thực hiện chương trình trên, bạn sẽ nhận được kết quả sau.
Vertex: 6
Kết luận
Nếu bạn có bất kỳ câu hỏi nào trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.