Problem Statement
There are 2*N wolves on the ice hockey team. The wolves are numbered from 0 to 2*N-1.
Cat Snuke is going to take photos of the whole team. The photos all have to look nice and they all have to look different. Both "nice" and "different" are formally defined below.
While taking each photo, the wolves will stand in a grid pattern with two rows by N columns. There is only one constraint: each row of the grid must contain a wolf whose number is K or more. Any such arrangement of wolves will look nice in a photo.
Given a photo of our 2*N wolves, we can look at it and write down a sequence of N+2 integers:
- For each column (from the left to the right), write down the largest wolf number in that column.
- Write down the largest wolf number in the first row.
- Write down the largest wolf number in the second row.
You are given the
Definition
- Class:
- WolfHockeyTeamEasy
- Method:
- count
- Parameters:
- int, int
- Returns:
- int
- Method signature:
- int count(int N, int K)
- (be sure your method is public)
Constraints
- N will be between 1 and 1,000, inclusive.
- K will be between 0 and 2N-1, inclusive.
Examples
2
0
Returns: 12
As N=2, we have four wolves. As K=0, each row of the grid must contain a wolf numbered 0 or more, which is always true. Hence, all 24 possible arrangements of wolves produce nice photos. However, some of those arrangements produce similar photos. For example, suppose there are wolves 1 and 2 in the first row and behind them wolves 0 and 3 in the second row. For this arrangement, we have: The maximum in the first column is max(1,0) = 1. The maximum in the second column is max(2,3) = 3. The maximum in the first row is max(1,2) = 2. The maximum in the second row is max(0,3) = 3. Hence, this arrangement produces the sequence {1,3,2,3}. Now suppose there are wolves 0 and 2 in the first row and wolves 1 and 3 in the second row. This is a different arrangement but it produces the same sequence: {1,3,2,3}. In total, Cat Snuke will be able to take at most 12 different photos. These correspond to the sequences {1,3,2,3}, {1,3,3,2}, {2,3,1,3}, {2,3,2,3}, {2,3,3,1}, {2,3,3,2}, {3,1,2,3}, {3,1,3,2}, {3,2,1,3}, {3,2,2,3}, {3,2,3,1}, and {3,2,3,2}.
4
5
Returns: 1104
100
120
Returns: 803057135
234
467
Returns: 0
Note that in this example K = 2*N-1. There is only one wolf with the number 2*N-1 or greater. Thus, in this case there are no nice photos: in one of the rows all wolves will always have numbers smaller than K.
810
893
Returns: 281618909
1
0
Returns: 2
1
1
Returns: 0
2
1
Returns: 12
2
2
Returns: 8
2
3
Returns: 0
3
0
Returns: 108
3
1
Returns: 108
3
2
Returns: 108
3
3
Returns: 96
3
4
Returns: 60
3
5
Returns: 0
1000
0
Returns: 989983873
234
234
Returns: 498647752
252
251
Returns: 767991859
250
498
Returns: 275681708
250
499
Returns: 0
999
1520
Returns: 815303675
1000
0
Returns: 989983873
1000
1
Returns: 989983873
1000
999
Returns: 989983873
1000
1000
Returns: 707144464
1000
1001
Returns: 867737445
1000
1997
Returns: 339184346
1000
1998
Returns: 104654612
1000
1999
Returns: 0
808
873
Returns: 324836167
74
106
Returns: 116516315
931
1343
Returns: 939478731
545
948
Returns: 896462378
924
1093
Returns: 783550990
441
548
Returns: 167512440
493
693
Returns: 207060943
988
1547
Returns: 626340796
328
529
Returns: 756345816
841
1573
Returns: 186152321
304
577
Returns: 86944046
710
957
Returns: 952029454
561
834
Returns: 492932675
100
178
Returns: 724434430
817
1426
Returns: 24066527
98
164
Returns: 327459111
513
784
Returns: 43090941
811
1038
Returns: 937724202
980
1709
Returns: 905178339
580
941
Returns: 558471503
968
1056
Returns: 622356681
394
570
Returns: 643181350
486
695
Returns: 333558913
229
400
Returns: 463685866
195
367
Returns: 775627118
2
3
Returns: 0
709
1295
Returns: 730053457
669
1025
Returns: 304499932
125
196
Returns: 492133
531
949
Returns: 1483601
100
100
Returns: 192185424