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

सी ++ कोड एक बिंदु खोजने के लिए जो बाधाओं को पूरा करता है

मान लीजिए, हमें दो बिंदु a =(x1, y1) और b =(x2, y2) दिए गए हैं। दो बिंदुओं के बीच मैनहट्टन दूरी है dist(a, b) =|x1 - x2| + |y1 - y2|। यदि बिंदु a का निर्देशांक (0, 0) है और बिंदु b का निर्देशांक (x, y) है, तो हमें ऐसा बिंदु c ज्ञात करना होगा कि dist(a, c) =dist(a, b)/2 और dist( बी, सी) =जिला (ए, बी) / 2। यदि ऐसा कोई बिंदु उपलब्ध नहीं है, तो हम -1, -1 प्रिंट करते हैं।

इसलिए, यदि इनपुट x =13, y =7 जैसा है, तो आउटपुट 6, 4 होगा।

कदम

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

if x mod 2 is same as 0 and y mod 2 is same as 0, then:
   print( x / 2, y / 2)
otherwise when (x + y) mod 2 is same as 1, then:
   print(- 1, - 1)
Otherwise,
   print(x / 2, (y + 1) / 2)

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

#include <bits/stdc++.h>
using namespace std;
#define N 100
void solve(int x, int y) {
   if(x % 2 == 0 && y % 2 == 0)
      cout<< x / 2 <<' '<< y / 2 <<endl;
   else if((x + y) % 2 == 1)
      cout<< -1 <<' '<< -1 <<endl;
   else
      cout<< x / 2 <<' '<< (y + 1) / 2 << endl;
}
int main() {
   int x = 13, y = 7 ;
   solve(x, y);
   return 0;
}

इनपुट

13, 7

आउटपुट

6 4

  1. C++ में संख्या को विभाजित करने वाली संख्या में अंकों की संख्या ज्ञात कीजिए

    मान लीजिए एक नंबर दिया गया है। हमें उस संख्या के अंकों की संख्या गिननी है जो संख्या को समान रूप से विभाजित करती है। मान लीजिए कि संख्या 1012 है, परिणाम 3 है। तीन अंक 1, 1 और 2 हैं जो समान रूप से 1012 को विभाजित करते हैं। इसे हल करने के लिए, हम मॉड्यूलस ऑपरेशन का उपयोग करके संख्या के प्रत्येक अंक को

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

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

  1. किसी दिए गए बिंदु को कवर करने वाले सबसे उपयुक्त आयत को खोजने के लिए C++ प्रोग्राम

    इस लेख में, हम किसी दिए गए बिंदु को कवर करने वाले सबसे उपयुक्त आयत को खोजने के लिए एक कार्यक्रम पर चर्चा करेंगे। इस समस्या में, हमें एक बिंदु (x, y) के निर्देशांक और लंबाई/चौड़ाई का अनुपात =l/b (मान लीजिए) दिया जाता है। हमें एक आयत के निर्देशांक ज्ञात करने हैं जिसमें दिए गए बिंदु हैं और जिनकी विमाए