Se pueden hacer cortes mínimos en el tablero de ajedrez de modo que no se divida en 2 partes

Tablero de ajedrez dado M x N. La tarea es determinar el número Máximo de cortes que podemos hacer en el Tablero de Ajedrez para que el Tablero de Ajedrez no se divida en 2 partes.
Ejemplos: 

Input: M = 2, N = 4
Output: Maximum cuts = 3

Input: M = 3, N = 3
Output: Maximum cuts = 4

Representación: 

  1. Para M = 2, N = 2 Solo podemos hacer 1 corte (marca en rojo). si hacemos 1 corte más, el tablero de ajedrez se dividirá en 2 piezas.
  2. Para M = 2, N = 4 Podemos hacer 3 cortes (marcas en rojo). si hacemos 1 corte más, el tablero de ajedrez se dividirá en 2 piezas.

Entonces, se puede observar que no. de cortes = (m-1) * (n-1) .
A continuación se muestra la implementación del enfoque anterior: 

C++

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

Java

// Java implementation of above approach
 
class GFG {
     
// function that calculates the
// maximum no. of cuts
static int numberOfCuts(int M, int N)
{
    int result = 0;
 
    result = (M - 1) * (N - 1);
 
    return result;
}
 
// Driver Code
public static void main(String args[])
{
    int M = 4, N = 4;
 
    // Calling function.
    int Cuts = numberOfCuts(M, N);
 
    System.out.println("Maximum cuts = " + Cuts);
 
}
}

Python3

# Python3 implementation of
# above approach
 
# function that calculates the
# maximum no. of cuts
def numberOfCuts(M, N):
    result = 0
     
    result = (M - 1) * (N - 1)
     
    return result
 
# Driver code
if __name__=='__main__':
     
    M, N = 4, 4
     
    # Calling function.
    Cuts = numberOfCuts(M, N)
     
    print("Maximum cuts = ", Cuts)
 
# This code is contributed by
# Kriti_mangal

C#

//C#  implementation of above approach
using System;
 
public class GFG{
// function that calculates the
// maximum no. of cuts
static int numberOfCuts(int M, int N)
{
    int result = 0;
 
    result = (M - 1) * (N - 1);
 
    return result;
}
 
// Driver Code
     
    static public void Main (){
     
    int M = 4, N = 4;
    // Calling function.
    int Cuts = numberOfCuts(M, N);
 
    Console.WriteLine("Maximum cuts = " + Cuts);
    }
//This code is contributed by akt_mit   
}

PHP

<?php
// php implementation of above approach
 
// function that calculates the
// maximum no. of cuts
function numberOfCuts($M, $N)
{
    $result = 0;
 
    $result = ($M - 1) * ($N - 1);
 
    return $result;
}
 
// Driver Code
$M = 4;
$N = 4;
 
// Calling function.
$Cuts = numberOfCuts($M, $N);
 
echo "Maximum cuts = ", $Cuts ;
 
// This code is contributed by ANKITRAI1
?>

Javascript

<script>
 
// Javascript implementation of above approach
 
// function that calculates the
// maximum no. of cuts
function numberOfCuts(M, N)
{
    var result = 0;
 
    result = (M - 1) * (N - 1);
 
    return result;
}
 
// Driver Code
var M = 4, N = 4;
 
// Calling function.
var Cuts = numberOfCuts(M, N);
document.write( "Maximum cuts = " + Cuts);
 
</script>
Producción: 

Maximum cuts = 9

 

Complejidad de tiempo: O(1)

Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por Naman_Garg y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *