Module: Alle Submasken dieser Maske durchblättern


Problem

5 /7


Theory Click to read/hide

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.

Problem

In der Garage des alten Großeltern fand Eric eine säkulare Gebühr. Er war jedoch überrascht, dass sie beim Aktivieren der Dioden nicht synchronisiert wurden. Ich meine, einige von ihnen wurden verbrannt, und einige nicht.
Die Zahlung selbst war ungewöhnlich. Es ist ein rechteckiges Raster mit n Zeilen und m Polen, wobei jede Zelle eine Diode aufweist. Um jede Reihe herum gibt es einen Hebel, der alle Dichoden in dieser Reihe dreht (die brennenden Dioden schnüffeln und umgekehrt). Derselbe Hebel steht jedem Pol (der Dioden in der entsprechenden Spalte verwendet) zur Verfügung.
Eric fragte sich, ob es möglich war, Dioden durch Schalthebel in den gleichen Zustand zu bringen.

Eingabe:
Die erste Zeile gibt zwei natürliche Zahlen n und m (1: Rep=n, m PO=7), die Anzahl der Zeilen und Spalten bei der Zahlung.
Es geht mit einer Linie von m Meißel in jedem Zustand von Dioden, wo 0 bedeutet, dass Diode nicht brennt, und eine, die brennt.

Ausgangsdaten:
Holen Sie sich "YES" heraus, wenn Sie Dioden in einen Zustand und "NO" bringen können, wenn Sie nicht können.

Beispiele:
EingangsdatenAusgangsdaten
2
1
1 0
JA
2
1
0)
NO

Beschreibung:
Im ersten Beispiel können alle Dioden in der ersten Zeile geschaltet werden, dann alle Dioden in der ersten Spalte. Dann werden alle Dioden offline sein.