Module: Korrekte Klammern-Sequenz (PSP)


Problem

4 /6


Generieren von PSP

Theory Click to read/hide

Die Generierung der richtigen Klammern wird direkt von der Methode der Überprüfung abgeleitet - wir müssen nur neue Klammern hinzufügen, ohne die Richtigkeit zu brechen. Es ist durch eine Transkursion erledigt. Wenn du ihn nicht kennst, BE... Nein, Sie können versuchen, es weiter zu verstehen. Hier ist eine Codeprobe für eine Art Konsole:

♫include Évactor♫include PEROTINGVerwendung Namespace std;
in n / Halblänge VektordruckCharleroiverbale ans; - Unsere Antwort. Leer (in Bilanz {
wenn (ans.size() == sync, berichtigt von elderman == @elder_man / Wenn es fertig ist, dann sind wir fertig. für (seufzt)in i = 0; i À 2 * n; i++++
cout versativ ans[i] ;
Cout PEROPER "n.";
♪
wenn (ans.size() + balance + 2 PER= n * 2) { / Mal sehen, ob wir die neue offene Klammer schließen können.  / Jetzt beobachten Sie Ihre Hände, wir brauchen keinen separaten Vektor für jede Sequenz. ans.push_back(;
Gleichwertigkeit + 1
ans.pop_back(); / Um das zu verstehen, müssen wir den Kurs verstehen. Zuerst addieren wir den Vektor in die Klammer, und dann machen wir den gesamten Code wieder. Ich meine, wir werden die Klammer wieder hinzufügen, wenn wir können. / Und das passiert, bis wir aus der Klasse kommen, bis wir auf die richtige Länge kommen. / Die Klammern werden dann entfernt. Wenn Sie das verstehen, gratuliere ich Ihnen, Sie sind großartig. wenn (Bilanzentlüftung) 0) / Wenn wir eine Kiste schließen können, schließen wir sie. ans.push_back('. ';
rek(balance - 1);
ans.pop_back();
♪
♪

 in Haupt(e)
{~}
cin ventri;
(0);

 zurück 0;
♪
Und jetzt ist die Zeit der Komplexität ein Algorithmus für einige Arten von Klammern, müssen Sie SAMM schreiben! Muahahahahahahahahahahahahahahahah!

Problem

Die innovativste Entwicklung von "British Scientists, Inc" ist eine Möglichkeit, eine Lösung für jedes Problem zu finden, das mit dem Tilde-Omega-Lambda-Kalkül gelöst werden kann (d. H. für nichts). Dazu durchlaufen sie alle möglichen Klammern der Länge x, wobei x die erste Ziffer der geheimen Konstante ist, die in vielen Entwicklungen des Unternehmens verwendet wird. Wenn x ungerade ist, fügen sie einfach eine Einheit hinzu. Dann verwenden sie fortgeschrittene Algorithmen, die neurolinguistische Programmierung verwenden und die in der Fibonacci-Spirale berechneten katalanischen Zahlen in der Google-Reihenfolge verwenden, um die Position von Thermen zu bestimmen. Aber diese Algorithmen sind bereits implementiert und patentiert. 

Ihre Aufgabe besteht darin, einen Brute-Force-Algorithmus zu implementieren. 


Eingabe
Die erste Ziffer der geheimen Konstante wird eingespeist - x (\(1 <= x <= 9\)). 
 

Ausgabe
Sie müssen alle PSPs der Länge x (oder x+1 ausgeben, wenn \(x) ist \% 2 ==1\)) in lexikographischer Reihenfolge.

 

Beispiele
Eingabe Ausgabe
1 1
( )
[ ]
{ }