Cuenta Rectángulos Distintos en el Tablero de Ajedrez N*N

Dado un tablero de ajedrez N x N. La tarea es contar rectángulos distintos del tablero de ajedrez. Por ejemplo, si la entrada es 8, la salida debería ser 36.
Ejemplos: 
 

Input: N = 4 
Output: 10

Input: N = 6
Output: 21

Enfoque: 
supongamos que N = 8, es decir, se da un tablero de ajedrez de 8 x 8, por lo que los diferentes rectángulos que se pueden formar son: 
 

1 x 1, 1 x 2, 1 x 3, 1 x 4, 1 x 5, 1 x 6, 1 x 7, 1 x 8 = 8
      2 x 2, 2 x 3, 2 x 4, 2 x 5, 2 x 6, 2 x 7, 2 x 8 = 7 
            3 x 3, 3 x 4, 3 x 5, 3 x 6, 2 x 7, 3 x 8 = 6 
                  4 x 4, 4 x 5, 4 x 6, 4 x 7, 4 x 8 = 5 
                        5 x 5, 5 x 6, 5 x 7, 5 x 8 = 4
                              6 x 6, 6 x 7, 6 x 8 = 3
                                    7 x 7, 7 x 8 = 2
                                          8 x 8 = 1

Entonces, el total de rectángulos únicos formados = 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 = 36, que es la suma de los primeros 8 números naturales. Entonces, en general, los distintos rectángulos que se pueden formar en un tablero de ajedrez N x N son: 
 

Sum of the first N natural numbers = N*(N+1)/2
                                   = 8*(8+1)/2
                                   = 36

A continuación se muestra la implementación del enfoque anterior: 
 

C++

// C++ code to count distinct rectangle in a chessboard
#include <bits/stdc++.h>
using namespace std;
 
// Function to return the count
// of distinct rectangles
int count(int N)
{
    int a = 0;
    a = (N * (N + 1)) / 2;
    return a;
}
 
// Driver Code
int main()
{
    int N = 4;
    cout<<count(N);
}
 
// This code is contributed by nidhi16bcs2007

Java

// Java program to count unique rectangles in a chessboard
class Rectangle {
 
    // Function to count distinct rectangles
    static int count(int N)
    {
        int a = 0;
 
        a = (N * (N + 1)) / 2;
 
        return a;
    }
 
    // Driver Code
    public static void main(String args[])
    {
        int n = 4;
        System.out.print(count(n));
    }
}

Python3

    # Python code to count distinct rectangle in a chessboard
 
# Function to return the count
# of distinct rectangles
def count(N):
    a = 0;
    a = (N * (N + 1)) / 2;
    return int(a);
 
 
# Driver Code
N = 4;
print(count(N));
 
# This code has been contributed by 29AjayKumar

C#

// C# program to count unique rectangles in a chessboard
using System;
 
class Rectangle
{
 
    // Function to count distinct rectangles
    static int count(int N)
    {
        int a = 0;
 
        a = (N * (N + 1)) / 2;
 
        return a;
    }
 
    // Driver Code
    public static void Main()
    {
        int n = 4;
        Console.Write(count(n));
    }
}
 
// This code is contributed by AnkitRai01

Javascript

// Javascript program to count unique rectangles in a chessboard
   
   // Function to count distinct rectangles
    function count(N)
    {
        var a = 0;
   
        a = (N * (N + 1)) / 2;
   
        return a;
    }
   
    // Driver Code
        var n = 4;
        document.write(count(n));
 
// This code is contributed by bunnyram19. 
Producción: 

10

 

Complejidad de tiempo: O(1)

Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por apurva_sharma244 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 *