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! |
|
|