Ich habe N Nummern und für sie gelten M Regeln über ihre Reihenfolge. Die Regeln sind in einem Paar von Indizes dargestellt und jedes Paar (A, B) sagt, dass die Nummer mit dem Index A (A-te Nummer) NACH der B-ten Nummer sein muss - es muss nicht neben ihm sein .Finden aller Permutationen, die mit einem Regelsatz übereinstimmen
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:)
Der Algorithmus sollte alle gibt mir die Permutationen zur Verfügung, die in dem Beispiel nicht die Regeln brechen, wie - 3 immer nach 2 und nach dem 1.
ich bruteforcing versucht sein muss, aber es didn‘ t Arbeit (obwohl Bruteforce sollte hier arbeiten, N ist im Bereich (1,8).)
Irgendwelche Ideen?
Könnten Sie erklären, wie die N-Nummern in diese kommen? Was wäre die Antwort, wenn die Ns {1, 2, 3, 4} sind? –
Von dem, was ich sehen kann, sind die N Zahlen, die Sie erhalten, für die Frage, die Sie stellen, irrelevant. Ist das richtig? – sykora
N ist, wie viele Zahlen es gibt, in diesem Fall N = 4, weil es vier Zahlen gibt, 1..4. – VaioIsBorn