Get free ebooK with 50 must do coding Question for Product Based Companies solved
Fill the details & get ebook over email
Thank You!
We have sent the Ebook on 50 Must Do Coding Questions for Product Based Companies Solved over your email. All the best!

Total number of ways to form a team of size K from X men and Y women with at least 4 men and 1 woman in the team

Last Updated on March 28, 2022 by Ria Pathak

Concepts Used:

Mathematics

Difficulty Level:

Hard

Problem Statement (Simplified):

In this problem, we have to find a total number of ways to form a team of size K from X men and Y women with at least 4 men and 1 woman in the team.

See original problem statement here

Test Case:

Input:
1
5 2 6

Output:
7

Explanation:
For example, We have to form a team of size 6(K), and there need to be at least 4 men and 1 woman out of 5(X) men and 2(Y) women. So we can form 2 teams and in total 7 ways, consisting Men and Women in the following ways :  
  4 Men + 2 Women ( Total 5 ways )  
  5 Men + 1 Women ( Total 2 ways )  

Solving Approach :

1) We already know, we can select m men and n women from X men and women in

ways, where any value

can be calculated using this formula :

2) As we know, we need to form a team of size K where there need to be at least 4 men and 1 woman at least.

3) For the above condition, there will be K-4 different teams, containing different numbers of men and women in the team.

In the first team, there would be 4 men and K-4 women, in second-team there would be 5 men and K-5 women, as we reach to end, the last team consists of K-1 men and 1 woman.

4) So, mathematically the total number of the team becomes :

Total number of teams =

Example:

Let’s assume, We have to form a team of size 6(K) and there needs to be atleast 4 men and 1 women out of 5(X) men and 2(Y) women. So we can form 2 teams, consisting Men and Women in following ways :

4 Men + 2 Women ( Total 5 ways )
5 Men + 1 Women ( Total 2 ways )

Total number of ways to form a team of size 6 with 4 Men and 2 women :

Assuming Men(M¹ M² M³ M⁴ M⁵) and Women (W¹ M²) are there to select, now we have to select team of 6, we need 2 women, so we’ll pick all women, and we need 4 men, so we’ll pick 4 men and then pair them with women. So possible ways are :

M¹ M² M³ M⁴ + W¹ W²
M¹ M² M³ M⁵ + W¹ W²
M¹ M² M⁵ M⁴ + W¹ W²
M¹ M⁵ M³ M⁴ + W¹ W²
M⁵ M² M³ M⁴ + W¹ W²

Total number of ways to form a team of size 6 with 5 Men and 1 women :

Assuming Men(M¹ M² M³ M⁴ M⁵) and Women (W¹ M²) are there to select, now we have to select team of 6, we need 5 men, so we’ll pick all men, and we need 1 woman, so we’ll pick 1 woman and then pair her with men. So possible ways are :

M¹ M² M³ M⁴ M⁴ +
M¹ M² M³ M⁴ M⁴ +

Hence, in similar ways, we can find answers for different cases.

Solutions:

#include <stdio.h>

long long nCr(int n, int r){
  long long value=1;
    for(int i=0;i<r;i++){
       value*=(n-i);
       value/=(i+1);
    }
    return value;
}

int main()
{
  int test;
  scanf("%d",&test);

  while(test--){

    int n, m, k;
    scanf("%d%d%d",&n,&m,&k);

    long long sum=0;

    for(int i=4; i<k; i++){
      sum += nCr(n,i)*nCr(m,k-i);
    }

    printf("%lld\n",sum);
  }
}
#include <bits/stdc++.h>
using namespace std;

long long nCr(int n, int r){
  long long value=1;
    for(int i=0;i<r;i++){
       value*=(n-i);
       value/=(i+1);
    }
    return value;
}

int main()
{
  int test;
  cin>test;

  while(test--){

    int n, m, k;
    cin>n>m>k;

    long long sum=0;

    for(int i=4; i<k; i++){
      sum += nCr(n,i)*nCr(m,k-i);
    }

    cout<<sum<<endl;
  }
}
import java.util.*;
import java.io.*;

public class Main {

  static long nCr(int n, int r){
    long value=1;
      for(int i=0;i<r;i++){
         value*=(n-i);
         value/=(i+1);
      }
      return value;
  }

  public static void main(String args[]) throws IOException {

    Scanner sc = new Scanner(System.in);
    int test = sc.nextInt();

    while(test--!=0){

      int n = sc.nextInt(), m = sc.nextInt(), k = sc.nextInt();

      long sum=0;

      for(int i=4; i<k; i++){
        sum += nCr(n,i)*nCr(m,k-i);
      }

      System.out.println(sum);
    }  

  }
}

[forminator_quiz id="858"]

This article tried to discuss Mathematics. Hope this blog helps you understand and solve the problem. To practice more problems on Mathematics you can check out MYCODE | Competitive Programming.

Leave a Reply

Your email address will not be published. Required fields are marked *