Problem Statement |
| You are given a sequence 1, 2, .., N. M times, you pick two adjacently located numbers in the sequence and swap them. Return the number of different final sequences that can be obtained modulo 1,000,000,009. |
|
Definition |
| Class: | SequencePermutation | Method: | determineConfigurations | Parameters: | int, int | Returns: | int | Method signature: | int determineConfigurations(int N, int M) | (be sure your method is public) |
|
|
|
|
Constraints |
- | N will be between 2 and 2000, inclusive. |
- | M will be between 0 and 2000, inclusive. |
|
Examples |
0) | |
| | Returns: 2 | The possible resulting sequences are (1,3,2) and (2,1,3). |
|
|
1) | |
| | Returns: 1 | The only possible resulting sequence without swapping any of the elements is the original sequence, that is, (1,2,3). |
|
|
2) | |
| |
3) | |
| | Returns: 620284697 | Watch out for integer overflow! |
|
|