इस ट्यूटोरियल में, हम सीखेंगे कि एक नियमित एन-साइडेड पॉलीगॉन पर तीसरे व्यक्ति की स्थिति कैसे पता करें।
हमने एक नियमित N-पक्षीय बहुभुज दिया है। और दो व्यक्ति पहले से ही दो अलग-अलग बिंदुओं पर हैं। हमारा काम तीसरे व्यक्ति को रखने के लिए तीसरा बिंदु खोजना है ताकि पहले दो व्यक्तियों और तीसरे व्यक्ति के बीच की दूरी कम से कम हो।
आइए समस्या को हल करने के लिए चरणों को देखें।
-
एन और दो बिंदुओं ए और बी को प्रारंभ करें।
-
तीसरे व्यक्ति की स्थिति को प्रारंभ करें, और स्थिति खोजने के लिए न्यूनतम योग करें।
-
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
निष्कर्ष
यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।