C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

チェス盤では、C++で2つの部分に分割されないように最小限のカットを行うことができます。


コンセプト

A x Bチェス盤が与えられた場合、タスクは、チェス盤が2つの部分に分割されないように、チェス盤で作成できるカットの最大数を計算することです。

例を以下に示します-

入力

A = 2, B = 4

出力

Number of maximum cuts = 3

入力

A = 2, B = 2

出力

Number of maximum cuts = 1

メソッド

  • A =2、B =2の場合、1つのカットしか作成できません(赤のマーク)。さらに1つのカットを作成すると、チェス盤は2つのピースに分割されます

チェス盤では、C++で2つの部分に分割されないように最小限のカットを行うことができます。

  • A =2、B =4の場合、3つのカット(赤のマーク)を作成できます。さらに1つのカットを作成すると、チェス盤は2つのピースに分割されます。

チェス盤では、C++で2つの部分に分割されないように最小限のカットを行うことができます。

この結果として、いいえであることが観察できます。カット数=(A-1)*(B-1)。

//This is C++ implementation of above approach
#include <bits/stdc++.h>
using namespace std;
// function that calculates the maximum no. of cuts
int numberOfCuts1(int A, int B){
   int result1 = 0;
   result1 = (A - 1) * (B - 1);
   return result1;
}
// Driver Code
int main(){
   int A = 4, B = 4;
   // Calling function.
   int Cuts = numberOfCuts1(A, B);
   cout << "Maximum cuts = " << Cuts;
   return 0;
}

出力

Maximum cuts = 9

  1. C++でN*Nチェス盤に配置できる最大のビショップ

    チェス盤のサイズを示す入力Nが与えられます。ここでのタスクは、Nの任意の値について、2人のビショップが互いに攻撃できないようにNXNチェス盤に配置できるビショップの数を見つけることです。例を挙げて理解しましょう。 入力 − n =2 出力 − N * Nチェス盤に配置できる最大のビショップ− 2(上記のように) 説明 −上に示したように、矛盾しない位置は司教が配置されている場所だけです。せいぜい2X2チェス盤のビショップ。 入力 − n =5 出力 − N * Nチェス盤に配置できる最大ビショップ:8(上記のように) 以下のプログラムで使用されているアプローチは次のとおりで

  2. Pythonで2つの部分に分割されないように、チェス盤で最小限のカットを行うことができます

    A x Bのチェス盤(マトリックス)が1つあるとすると、ボードが2つの部分に分割されないように、このボードで作成できるカットの最大数を計算する必要があります。 したがって、入力がA=2およびB=4のような場合、 その場合、出力は3になります。 これを解決するには、次の手順に従います- res:=0 res:=(M-1)*(N-1) return res 例 理解を深めるために、次の実装を見てみましょう- def max_cuts_count(M, N):    res = 0    res = (M - 1) * (N - 1