Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

एक बिंदु खोजें जैसे कि मैनहट्टन दूरियों का योग C++ में न्यूनतम हो

मान लीजिए हमारे पास K आयाम स्थान में n अलग-अलग बिंदु हैं, n का मान श्रेणी (2, 105) में है, और k का मान श्रेणी (1 से 5) में है। हमें उस बिंदु को इस तरह निर्धारित करना होगा कि परिणामी बिंदु से n बिंदुओं तक मैनहट्टन की दूरी का योग कम से कम हो।

दो बिंदुओं P1(x1, y1) और P2(x2, y2) के बीच मैनहट्टन की दूरी |x1 - x2| + |y1 - y2|। मान लीजिए आयाम 3 है, और तीन बिंदु हैं जैसे (1, 1, 1), (2, 2, 2), (3, 3, 3), तो आउटपुट (2, 2, 2) होगा। पी>

इस समस्या को हल करने के लिए, हमें सभी K आयामों में बिंदुओं को क्रमबद्ध करना होगा और प्रत्येक k आयाम के मध्य तत्वों से आउटपुट प्राप्त करना होगा।

उदाहरण

#include<iostream>
#include<vector>
#include<cmath>
#include<algorithm>
using namespace std;
void minimizeHanhattan(int n, int k, vector<vector<int> >& pointList) {
   for (int i = 0; i < k; ++i) //sort in all k dimension
      sort(pointList[i].begin(), pointList[i].end());
   for (int i = 0; i < k; ++i)
      cout << pointList[i][(ceil((double)n / 2) - 1)] << " ";
}
int main() {
   int n = 4, k = 4;
   vector<vector<int> > point = { { 1, 5, 2, 4 },
      { 6, 2, 0, 6 },
      { 9, 5, 1, 3 },
      { 6, 7, 5, 9 } };
   minimizeHanhattan(n, k, point);
}

आउटपुट

2 2 3 6

  1. 2N संख्याओं का क्रमचय इस प्रकार ज्ञात कीजिए कि दिए गए व्यंजक का परिणाम C++ में ठीक 2K हो

    मान लीजिए कि हमारे पास दो पूर्णांक N और K हैं। हमें प्राकृतिक संख्याओं की 2N संख्या का पहला क्रमचय ज्ञात करना है, ताकि निम्नलिखित समीकरण संतुष्ट हो। $$\displaystyle\sum\limits_{i=1}^N\lvert A_{2i-1}-A_{2i}\rvert+\lvert \displaystyle\sum\limits_{i=1}^N A_{2i-1 }-A_{2i} \rvert=2K$$ K का मान N से कम

  1. सबसे छोटी संख्या X ज्ञात कीजिए कि X! C++ में कम से कम Y अनुगामी शून्य होते हैं

    हमें एक संख्या Y लेनी है, हमें सबसे छोटी संख्या X मिलेगी, जैसे कि X! प्रशिक्षण शून्य की कम से कम Y संख्या शामिल है। उदाहरण के लिए, यदि Y =2, तो X का मान =10. जैसा कि X! =3228800। इसमें Y संख्या शून्य है। हम इसे बाइनरी सर्च का उपयोग करके हल कर सकते हैं। N में अनुगामी शून्यों की संख्या! N! में गुणनखं

  1. एक सरणी में सभी जोड़े (ए, बी) खोजें जैसे कि सी ++ में% बी =के

    मान लीजिए कि हमारे पास एक सरणी ए है, उस सरणी से, हमें सभी जोड़े (ए, बी) प्राप्त करना है जैसे कि ए% बी =के। मान लीजिए कि सरणी A =[2, 3, 4, 5, 7] और k =3 है, तो जोड़े (7, 4), (3, 4), (3, 5), (3, 7) हैं। इसे हल करने के लिए, हम सूची को देखेंगे और जांचेंगे कि दी गई शर्त संतोषजनक है या नहीं। उदाहरण #inc