Jetzt recherchiere ich über die Kommunikation von n Autos. Das Problem, auf das ich stoße, kann wie folgt vereinfacht werden:
n Zahlen, und
ich möchte alle Teilmengen erhalten, die die Bedingung erfüllen, dass sie geteilt werden (wie im Beispiel unten), und alle diese n Zahlen werden ** alle verwendet und nur einmal verwendet **.
Wenn beispielsweise n = 3, kann ich sie teilen in:
Code: Select all
[[1, 2, 3]]
[[1, 2], [3]]
[[1, 3], [2]]
[[2, 3], [1]]
[[1], [2], [3]]
Ich habe versucht, es mit der Funktion std::next_permutation in C++ zu lösen (da sie keine Funktion für Kombinationsprobleme hat), aber es ist fehlgeschlagen, weil zu viele wiederholte Antworten ausgegeben wurden (z. B. [1 2][3]und [2 1][3], die eigentlich gleich sind, aber ich weiß nicht, wie ich sie erkennen soll)
Ich denke, meine Idee ist falsch, wenn ich das verwende Funktion.