Open In App

Ways of dividing a group into two halves such that two elements are in different groups

Improve
Improve
Like Article
Like
Save
Share
Report

Given 2n girls and randomly divided into two subgroups each containing n girls. The task is to count the number of ways in which groups can be formed such that two beautiful girls are into different groups.
Example: 

Input:
Output:
Let group be r1, r2, b1, b2 where b1 and b2 are beautiful girls 
Groups are: ((r1, b1) (r2, b2)), ((r1, b2) (r2, b1)), ((r2, b2) (r1, b1)), ((r2, b1) (r1, b2))
Input:
Output: 40 

Approach: There are two ways in which the two beautiful girls lie in different groups and corresponding to each way the remaining (2n – 2) girls can be divided into two groups is {2n-2}_C_{n-1}
Hence total number of ways are 2 * {2n-2}_C_{n-1}
Implementation Code :  

C++

// CPP Program to count
// Number of ways in which two
// Beautiful girls are in different group
#include <bits/stdc++.h>
using namespace std;
 
// This function will
// return the factorial of a given number
int factorial(int n)
{
    int result = 1;
    for (int i = 1; i <= n; i++)
        result = result * i;
    return result;
}
 
// This function will calculate nCr of given
// n and r
int nCr(int n, int r)
{
    return factorial(n) / (factorial(r) * factorial(n - r));
}
 
// This function will
// Calculate number of ways
int calculate_result(int n)
{
    int result = 2 * nCr((n - 2), (n / 2 - 1));
    return result;
}
 
// Driver Code
int main(void)
{
    int a = 2, b = 4;
    cout << calculate_result(2 * a) << endl;
    cout << calculate_result(2 * b) << endl;
 
    return 0;
}

                    

Java

   //Java Program to count
// Number of ways in which two
// Beautiful girls are in different group
 
import java.io.*;
 
class GFG {
 
// This function will
// return the factorial of a given number
static int factorial(int n)
{
    int result = 1;
    for (int i = 1; i <= n; i++)
        result = result * i;
    return result;
}
 
// This function will calculate nCr of given
// n and r
static int nCr(int n, int r)
{
    return factorial(n) / (factorial(r) * factorial(n - r));
}
 
// This function will
// Calculate number of ways
static int calculate_result(int n)
{
    int result = 2 * nCr((n - 2), (n / 2 - 1));
    return result;
}
 
// Driver Code
 
    public static void main (String[] args) {
        int a = 2, b = 4;
    System.out.println( calculate_result(2 * a));
    System.out.print(calculate_result(2 * b));
 
    }
}
 
// This code is contributed by inder_verma..

                    

Python3

# Python3 Program to count
# Number of ways in which two
# Beautiful girls are in different group
 
# This function will
# return the factorial of a
# given number
def factorial(n) :
 
    result = 1
    for i in range(1, n + 1) :
        result *= i
         
    return result
 
# This function will calculate nCr of given
# n and r
def nCr(n, r) :
 
    return (factorial(n) // (factorial(r)
            * factorial(n - r)))
 
 
# This function will
# Calculate number of ways
def calculate_result(n) :
 
    result = 2 * nCr((n -2), (n // 2 - 1))
 
    return result
 
 
# Driver code
if __name__ == "__main__" :
 
    a, b = 2, 4
    print(calculate_result(2 * a))
    print(calculate_result(2 * b))
 
# This code is contributed by
# ANKITRAI1

                    

C#

//C# Program to count
// Number of ways in which two
// Beautiful girls are in different groupusing System;
 
using System;
 
public class GFG {
  
// This function will
// return the factorial of a given number
static int factorial(int n)
{
    int result = 1;
    for (int i = 1; i <= n; i++)
        result = result * i;
    return result;
}
  
// This function will calculate nCr of given
// n and r
static int nCr(int n, int r)
{
    return factorial(n) / (factorial(r) * factorial(n - r));
}
  
// This function will
// Calculate number of ways
static int calculate_result(int n)
{
    int result = 2 * nCr((n - 2), (n / 2 - 1));
    return result;
}
  
// Driver Code
  
    public static void Main () {
        int a = 2, b = 4;
    Console.WriteLine( calculate_result(2 * a));
    Console.Write(calculate_result(2 * b));
  
    }
}
  
// This code is contributed by Subhadeep

                    

PHP

<?php
// PHP Program to count Number
// of ways in which two Beautiful
// girls are in different group
 
// This function will return
// the factorial of a given number
function factorial($n)
{
    $result = 1;
    for ($i = 1; $i <= $n; $i++)
        $result = $result * $i;
    return $result;
}
 
// This function will calculate
// nCr of given n and r
function nCr($n, $r)
{
    return factorial($n) / (factorial($r) *
                            factorial($n - $r));
}
 
// This function will
// Calculate number of ways
function calculate_result($n)
{
    $result = 2 * nCr(($n - 2),
                      ($n / 2 - 1));
    return $result;
}
 
// Driver Code
$a = 2;
$b = 4;
echo calculate_result(2 * $a) . "\n";
echo calculate_result(2 * $b) . "\n";
 
// This Code is contributed by mits
?>

                    

Javascript

// Javascript Program to count Number
// of ways in which two Beautiful
// girls are in different group
 
// This function will return
// the factorial of a given number
function factorial(n)
{
    let result = 1;
    for (let i = 1; i <= n; i++)
        result = result * i;
    return result;
}
 
// This function will calculate
// nCr of given n and r
function nCr(n, r)
{
    return factorial(n) / (factorial(r) *
                            factorial(n - r));
}
 
// This function will
// Calculate number of ways
function calculate_result(n)
{
    let result = 2 * nCr((n - 2),
                    (n / 2 - 1));
    return result;
}
 
// Driver Code
let a = 2;
let b = 4;
document.write(calculate_result(2 * a) + "<br>");
document.write(calculate_result(2 * b) + "<br>");
 
// This Code is contributed by gfgking

                    

Output: 
4
40

 

Time Complexity: O(N), since the loop runs for N times.

Auxiliary Space: O(1), since no extra space has been taken.



Last Updated : 25 Aug, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads