N 個の数字が与えられ、その順序について M 個のルールを適用します。ルールはインデックスのペアで表され、すべてのペア (A、B) は、インデックス A の数字 (A 番目の数字) が B 番目の数字の後にある必要があることを示しています - それは彼の隣にある必要はありません.
Ex: N = 4
1 2 3 4
M = 2
3 2
3 1
Output: 1234, 4213, 4123, 2134, 2143, 2413, 1423 ...Maybe there are even more:)
アルゴリズムは、例のように、ルールに違反しない利用可能なすべての順列を提供する必要があります-3 は常に 2 の後と 1 の後にある必要があります。
ブルートフォースを試してみましたが、うまくいきませんでした (ここではブルートフォースが機能するはずですが、N は (1,8) の範囲にあります)。
何か案は ?