Submit | All submissions | Best solutions | Back to list |
MARBLES - Marbles |
Hänschen 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. Hänschen 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 possibilites 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 Hänschen selects and k is the number of different colors of the marbles. You can assume that 1 ≤ k ≤ n ≤ 1000000.
Output
For each test case print the number of possibilities that Hänschen would have had. You can assume that this number fits into a signed 64 bit integer.
Example
Input: 2 10 10 30 7 Output: 1 475020
Added by: | Adrian Kuegel |
Date: | 2004-06-19 |
Time limit: | 1s |
Source limit: | 10000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: NODEJS PERL6 VB.NET |
Resource: | own problem |
hide comments
|
||||||||
2017-01-22 06:37:17
Nice question , first did with different approach through recursion took long time to run , i did with first assuming for example if input is 30 7 , then assuming that 7 colors he has chosed now remaining 23 we can put any color in any maner , then did with recursion , then treid to do with combination formula , it was a series , and was too long ,then at last did with the general theme. It is easy , although did not looked at first , answer is right before you.All the best, |
||||||||
2016-09-08 05:44:59
Thought I was doing intermediate calculations the right way but still got integer overflow, so gave up and used BigInteger (not enough test cases to matter much, performance-wise). |
||||||||
2016-05-26 20:09:59
Isn't it accepting wrong solution .? |
||||||||
2016-05-18 12:15:36 vijay kumar paliwal
Simple..just take care of order of multiplication(start from n) and division(start from 1)...my 50th :) |
||||||||
2016-04-11 14:38:41 Ray Brish Bhanu
dont use ans*=expression...use ans=ans*expression instead of...gave me several wa Last edit: 2016-04-11 14:39:00 |
||||||||
2016-03-17 15:56:10
Add this case 1 64 30 correct answer is: 759510004936100355 but many accepted codes gives this answer: 310981744965266872 Last edit: 2016-03-17 15:56:43 |
||||||||
2016-03-12 16:01:06 hanstan
Finally my 100th accepted... :D I think this test case must be included though Walid Amin: 2015-02-05 20:50:24 i suggest to add this case 1 64 30 correct answer must be 759510004936100355 it fits signed 64 bit but many accepted codes gives this answer: 310981744965266872 i suggest you add it bec it will fail many codes THANK YOU |
||||||||
2016-01-24 12:09:07 Pranay Kumar
Easy problem if you are into maths! Got AC in 1 go... |
||||||||
2016-01-15 15:53:02
stars and bars |
||||||||
2016-01-14 19:24:10 CounterNormalize
TLE in python by just using factorial. 2 WA's in C++ due to improper nCr function. Finally AC though, Really nice implementation!! Last edit: 2016-01-14 19:24:33 |