Problem Statement |
| You are given a int[] S containing a set of distinct integers. A sequence is called a p-sequence of S if it satisfies both of the following conditions:
1. It contains each element of S exactly once.
2. For each pair of consecutive sequence elements s1 and s2, (s1 - s2) is not divisible by p.
Return the number of p-sequences of S, modulo 1234567891. |
|
Definition |
| Class: | PSequence | Method: | count | Parameters: | int[], int | Returns: | int | Method signature: | int count(int[] S, int p) | (be sure your method is public) |
|
|
|
|
Constraints |
- | S will contain between 1 and 30 elements, inclusive. |
- | All elements of S will be distinct. |
- | Each element of S will be between -1,000,000 and 1,000,000, inclusive. |
- | p will be between 1 and 1,000, inclusive. |
|
Examples |
0) | |
| | Returns: 120 | All permutations of numbers are valid, so we have 5! = 120 sequences. |
|
|
1) | |
| | Returns: 0 | Both numbers have the same remainder modulo 4 and so we cannot create a valid 4-sequence from them. |
|
|
2) | |
| |
3) | |
| |