Problem Statement
Your task is to help John by counting the number of possible sets of escaped cows. This number may be very big, so return it modulo 1,000,000,007.
Definition
- Class:
- TheCowDivTwo
- Method:
- find
- Parameters:
- int, int
- Returns:
- int
- Method signature:
- int find(int N, int K)
- (be sure your method is public)
Constraints
- N will be between 1 and 1,000, inclusive.
- K will be between 1 and 47, inclusive.
- K will be less than or equal to N.
Examples
7
4
Returns: 5
7 cows are numbered 0 to 6 and 4 of them run away. Possible sets of escaped cows are {0, 1, 2, 4}, {0, 3, 5, 6}, {1, 2, 5, 6}, {1, 3, 4, 6}, {2, 3, 4, 5}.
1
1
Returns: 1
58
4
Returns: 7322
502
7
Returns: 704466492
1000
47
Returns: 219736903
2
1
Returns: 1
2
2
Returns: 0
3
1
Returns: 1
3
2
Returns: 1
3
3
Returns: 1
4
1
Returns: 1
4
2
Returns: 1
4
3
Returns: 1
4
4
Returns: 0
5
1
Returns: 1
5
2
Returns: 2
5
3
Returns: 2
5
4
Returns: 1
5
5
Returns: 1
47
47
Returns: 1
1000
1
Returns: 1
1000
2
Returns: 499
1000
3
Returns: 166167
1000
4
Returns: 41417249
1000
5
Returns: 250291195
1000
46
Returns: 78998436
1000
45
Returns: 581148813
1000
44
Returns: 862248962
1000
43
Returns: 347713553
1000
42
Returns: 814019761
1000
41
Returns: 346385493
1000
40
Returns: 580623585
173
21
Returns: 456891727
248
47
Returns: 742986228
879
2
Returns: 439
290
44
Returns: 888231391
320
16
Returns: 184923077
283
20
Returns: 769892195
433
16
Returns: 737181366
899
8
Returns: 405731964
127
46
Returns: 553680656
111
15
Returns: 94153483
423
36
Returns: 317290246
7
7
Returns: 1