Given a String S, of binary numbers (0's & 1's), print the count of unique permutations of the string starting with 1

Given a String S which consists of only binary numbers(i.e.,0's and 1's), you have to find the number of unique ways that the string can be permuted starting with '1'.


For Example:

Let Number of 1's denoted as 'N' & Number of 0's denoted as 'M'

If N=1 & M=1, the possible permutations are 01 & 10

Here, the string that start with '1' is "10". So, the Output is 1

Method 1:

Implementation:

//Following is the C++ implementation to find the count of unique permutations of the string that starts with '1'.

#include <iostream>
using namespace std;
int fact(int N)
{
      if(N==1)
      return 1;
      if(N==0)
      return 1;
      return N*fact(N-1);
}

int main()
{
     int T;
     cin>>T;
     int N,M;
     while(T--)
     {
          cin>>N>>M;
          int ncr= (fact(M+N-1)) / ((fact(M-1)) * fact(N));
          cout<<ncr<<"\n";
     }
     return 0;
}


//Following is the 'C' Implementation to find the number of unique ways that the string is permuted starting //with '1


#include <stdio.h>
int fact(int N)
{
     if(N==1)
     return 1;
     if(N==0)
     return 1;
     return N*fact(N-1);
}

int main()
{
     int T,N,M;
     scanf("%d",&T);
     while(T--)
     {
          scanf("%d %d",&N,&M);
          int ncr= (fact(M+N-1)) / ((fact(M-1)) * fact(N));
          printf("%d\n",ncr);
     }
     return 0;
}