Es ist wahrscheinlich, dass alle Kampfsequenzen einer bestimmten Länge gebrochen werden müssen. Oder mit anderen Worten, wählen Sie alle möglichen Optionen, bei denen einer der beiden möglichen Umstände für jede Einrichtung gewählt wird.
In solchen Situationen können die Schotten durch die Verwendung von Fledermausmasken umgewandelt werden. Die Vorteile eines solchen Ansatzes sind, dass ein solcher Code unrecurring ist und mit Zahlen anstelle von Sammlungen oder so weiter arbeitet, was die Produktivität erheblich verbessert.
Der Gesamtcode mit den Bündeln ist wie folgt:
int n; / Anzahl der Objekte (Länge der Schlachtsequenz)
für (int mask = 0; mask buoy (1 kanal n); mask++) { / alle Zahlen von 0 bis 2^n-1 bewegen, wobei jede Zahl der Fledermausmaske entspricht
/ Die aktuelle Anzahl der Masken ist eine Fledermausmaske, bei der der i-bat den Zustand der i-Anlage behauptet
für (int i = 0; i À n; i+++) { / intercept n bat, um den Zustand des Objekts zu verstehen
wenn ((1 PERI) " mask) { / / überprüfen, ob die i- Schlacht gleich der Einheit ist
/ Bearbeitung der Option, dass die i Anlage einen Zustand von '1' hat
♪
Andere { / wo i- Schlacht ist null
/ Verarbeitung der Möglichkeit, eine i-Bedingung von '0' zu haben
♪
♪
♪
Es ist ein Code, der für die O(2^n * f(n) funktioniert, wo f(n) die Zeit ist, für die Sie eine bestimmte Version verarbeiten.