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

C++ में एक चाल में बिशप द्वारा देखे जा सकने वाले वर्गों की कुल संख्या की गणना करें


एक शतरंज की बिसात पर जिसे 8 X 8 ग्रिड के रूप में दर्शाया गया है, हमें पंक्ति और स्तंभ स्थिति के रूप में बिशप का स्थान दिया गया है। लक्ष्य उन वर्गों की कुल संख्या का पता लगाना है जो बिशप एक चाल में देख सकते हैं। हम जानते हैं कि बिशप सभी दिशाओं में घूम सकता है (तिरछे बाएँ ऊपर/नीचे और दाएँ ऊपर/नीचे)।

C++ में एक चाल में बिशप द्वारा देखे जा सकने वाले वर्गों की कुल संख्या की गणना करें

उदाहरण के लिए

इनपुट

row = 5, column = 4

आउटपुट

Count of total number of squares that can be visited by Bishop in one move
are: 13

स्पष्टीकरण

As shown in above figure the squares that Bishop can cover are 9.

इनपुट

row = 1, column = 1

आउटपुट

Count of total number of squares that can be visited by Bishop in one move
are: 7

स्पष्टीकरण

As this is the corner most position, then Bishop can only cover one
diagonal which can have a maximum of 7 squares.

नीचे दिए गए कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है -

इस दृष्टिकोण में हम क्षैतिज और लंबवत अधिकतम और न्यूनतम वर्ग स्थिति का उपयोग करके विकर्ण वर्गों की गणना करेंगे।

  • बिशप की स्थिति के लिए पूर्णांक पंक्ति और स्तंभ लें।

  • फंक्शन स्क्वेयर्स_विजिटेड (इंट फर्स्ट, इंट सेकेंड) बिशप का स्थान लेता है और उन वर्गों की संख्या लौटाता है जिन्हें वह एक चाल में देख सकता है।

  • प्रारंभिक गणना 0 के रूप में लें।

  • बाईं स्थिति की न्यूनतम पंक्ति या स्तंभ स्थिति -1 की न्यूनतम है।

  • बाईं ओर की अधिकतम स्थिति 8 - अधिकतम पंक्ति या 9-स्तंभ स्थिति है।

  • न्यूनतम सही स्थिति पंक्ति या 9−स्तंभ स्थिति -1 की न्यूनतम है।

  • अधिकतम सही स्थिति 8 है - अधिकतम पंक्ति या स्तंभ स्थिति।

  • कुल वर्ग उपरोक्त गणना की गई स्थितियों का योग होगा।

  • परिणाम के रूप में वापसी की गिनती।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int squares_visited(int first, int second){
   int count = 0;
   int min_left = min(first, second) − 1;
   int max_left = 8 − max(first, 9 − second);
   int max_right = 8 − max(first, second);
   int min_right = min(first, 9 − second) − 1;
   count = min_left + min_right + max_right + max_left;
   return count;
}
int main(){
   int row = 3, column = 3;
   cout<<"Count of total number of squares that can be visited by Bishop in one move are: "<<squares_visited(row, column);
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

Count of total number of squares that can be visited by Bishop in one move are: 11

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

    एक शतरंज की बिसात पर जिसे 8 X 8 ग्रिड के रूप में दर्शाया गया है, हमें पंक्ति और स्तंभ स्थिति के रूप में बिशप का स्थान दिया गया है। लक्ष्य उन वर्गों की कुल संख्या का पता लगाना है जो बिशप एक चाल में देख सकते हैं। हम जानते हैं कि बिशप सभी दिशाओं में घूम सकता है (तिरछे बाएँ ऊपर/नीचे और दाएँ ऊपर/नीचे)।

  1. C++ में एक आयत में वर्गों की संख्या गिनें

    =B. लक्ष्य उन वर्गों की संख्या का पता लगाना है जिन्हें LXB आकार का एक आयत समायोजित कर सकता है। ऊपर दिया गया चित्र 3 X 2 आकार का एक आयत दिखाता है। इसमें 2, 2X2 वर्ग और 6,1X1 वर्ग हैं। कुल वर्ग=6+2=8. LXB आकार के प्रत्येक आयत में L*B संख्या 1X1 वर्ग होती है। सबसे बड़े वर्ग BXB आकार के होते ह

  1. C++ . में समकोण समद्विबाहु त्रिभुज में फिट होने वाले वर्गों की अधिकतम संख्या

    कार्य को देखते हुए ए वाले वर्गों की अधिकतम संख्या ज्ञात करना है जो एस के आधार के साथ एक समकोण समद्विबाहु त्रिभुज के अंदर फिट हो सकते हैं (एक समद्विबाहु त्रिभुज में कम से कम 2 बराबर पक्ष होते हैं)। आइए अब एक उदाहरण का उपयोग करके समझते हैं कि हमें क्या करना है: इनपुट s=5, a=1 आउटपुट 10 स्पष्टीकरण -