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

किसी वस्तु को खोजने के लिए आवश्यक स्कैन की संख्या खोजने के लिए C++ कोड

मान लीजिए, हमें m x n विमाओं का एक ग्रिड दिया गया है। एक ऑब्जेक्ट को सेल (ix, iy) पर रखा गया है और हमें ऑब्जेक्ट स्कैनिंग को प्रारंभिक स्थिति (sx, sy) से ढूंढना है। स्कैनिंग एल्गोरिथ्म ग्रिड की ith पंक्ति और j-वें कॉलम को स्कैन करता है यदि यह ग्रिड के सेल (i, j) पर स्थित है। यदि उसे वस्तु मिल गई है, तो स्कैनिंग बंद हो जाती है; यदि नहीं, तो स्कैनिंग पॉइंटर सेल में स्थिति (i + 1, j + 1) में चला जाता है और फिर उसी तरह स्कैन करता है। यह तब तक जारी रहता है जब तक कि आइटम नहीं मिल जाता। स्थितियों को देखते हुए, हमें यह पता लगाना होगा कि ऑब्जेक्ट को खोजने के लिए एल्गोरिदम को कितने स्कैन करने होंगे।

इसलिए, यदि इनपुट n =20, m =20, sx =3, sy =2, ix =12, iy =4 जैसा है, तो आउटपुट 2 होगा।

कदम

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

t1 := (if sx <= ix, then ix - sx, otherwise 2 * n - ix - sx)
t2 := (if sy <= iy, then iy - sy, otherwise 2 * m - iy - sy)
print(minimum of (t1, t2))

उदाहरण

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

#include <bits/stdc++.h>
using namespace std;
#define N 100
void solve(int n, int m, int sx, int sy, int ix, int iy) {
   int t1 = (sx <= ix ? ix - sx : 2 * n - ix - sx);
   int t2 = (sy <= iy ? iy - sy : 2 * m - iy - sy);
   cout<< min(t1, t2);
}
int main() {
   int n = 20, m = 20, sx = 3, sy = 2 , ix = 12, iy = 4;
   solve(n, m, sx, sy, ix, iy);
   return 0;
}

इनपुट

20, 20, 3, 2 , 12, 4

आउटपुट

2

  1. C++ का उपयोग करके पंचकोणीय पिरामिड संख्या ज्ञात कीजिए

    एक पंचकोणीय पिरामिड संख्या एक पंचकोणीय आधार पिरामिड में मदों की संख्या के बराबर होती है। नीचे कुछ पंचकोणीय संख्याओं को देखें। N तक पंचकोणीय संख्याओं का योग Nवीं पंचकोणीय पिरामिड संख्या के बराबर होता है। इस लेख में, हम उदाहरण के लिए, Nth पंचकोणीय पिरामिड संख्या खोजने पर चर्चा करेंगे Input : N = 4

  1. C++ का उपयोग करके एक स्ट्रिंग के सबस्ट्रिंग की संख्या ज्ञात करें

    इस लेख में, आप किसी दिए गए स्ट्रिंग में बनाए जा सकने वाले सबस्ट्रिंग (गैर-रिक्त) की संख्या को खोजने के तरीकों के बारे में जानेंगे। Input : string = “moon” Output : 10 Explanation: Substrings are ‘m’, ‘o’, ‘o’, ‘n’, ‘mo’, &lsqu

  1. C++ . का उपयोग करके स्टॉपिंग स्टेशनों की संख्या ज्ञात कीजिए

    बिंदु X और Y के बीच मध्यवर्ती ट्रेन स्टेशनों की संख्या n है। गिनें कि अलग-अलग तरीकों से ट्रेनों को s स्टेशनों पर रुकने के लिए व्यवस्थित किया जा सकता है जैसे कि कोई भी दो स्टेशन एक दूसरे के बगल में नहीं हैं। तो इस लेख में, हम स्टॉपिंग स्टेशनों की संख्या का पता लगाने के लिए हर संभव तरीके की व्याख्या क