Categories: CodeChef's Solutions

Marbles’ Solution with Approach – Codechef

Problem Statement

Rohit dreams he is in a shop with an infinite amount of marbles. He is allowed to select n marbles. There are marbles of k different colors. From each color there are also infinitely many marbles. Rohit wants to have at least one marble of each color, but still there are a lot of possibilities for his selection. In his effort to make a decision he wakes up.Now he asks you how many possibilities for his selection he would have had.Assume that marbles of equal color can’t be distinguished, and the order of the marbles is irrelevant.


Input

The first line of input contains a number T <= 100 that indicates the number of test cases to follow. Each test case consists of one line containing n and k, where n is the number of marbles Rohit selects and k is the number of different colors of the marbles. You can assume that 1<=k<=n<=1000000.

Related Post

Output

For each test case print the number of possibilities that Rohit would have had. You can assume that this number fits into a signed 64-bit integer.


Examples

Input:
2
10 10
30 7
Output:
1
475020

Solution

Code

def solve(n,k):
    e=1
    if n == k:
      return 1
    if n<k:
      return 0
    if n>k :
        for i in range(min(k-1,n-k)):
           n -= 1
           e=(e*n)//(i+1)

    return e

T = int(input())
for i in range(T):
    n, k= [int(x) for x in input().split()]
    print(solve(n,k))

Question Link – link

Aditya Kumar

Share
Tags: CodeChef Python

Recent Posts

  • Programming

Mastering Print Formatting in Python: A Comprehensive Guide

In Python, the print() function is a fundamental tool for displaying output. While printing simple…

10 months ago
  • Programming

Global Variables in Python: Understanding Usage and Best Practices

Python is a versatile programming language known for its simplicity and flexibility. When working on…

10 months ago
  • Programming

Secure Your Documents: Encrypting PDF Files Using Python

PDF (Portable Document Format) files are commonly used for sharing documents due to their consistent…

10 months ago
  • Programming

Creating and Modifying PDF Files in Python: A Comprehensive Guide with Code Examples

PDF (Portable Document Format) files are widely used for document exchange due to their consistent…

10 months ago
  • Programming

Boosting Python Performance with Cython: Optimizing Prime Number Detection

Python is a high-level programming language known for its simplicity and ease of use. However,…

10 months ago
  • Programming

Using OOP, Iterator, Generator, and Closure in Python to implement common design patterns

Object-Oriented Programming (OOP), iterators, generators, and closures are powerful concepts in Python that can be…

10 months ago

This website uses cookies.