Am 22. August 2020 debütierte er in Python für wettbewerbsfähige Programme. Mit dabei war AtCoder, was bei wettbewerbsfähiger Programmierung in Japan in den Sinn kommt.
Bevor ich anfing, Python zu lernen, habe ich mich tatsächlich als Mitglied registriert und war bereit zu beginnen. Wann haben Sie die letzten Fragen gelöst? ?? Ich habe mich sanft bei AtCoder im Lagerraum meines Herzens registriert.
Der Grund ist einfach.
** Weil ich in erster Linie auf den Standardeingabeteil in Python gestoßen bin orz **
Natürlich hatte ich bis dahin das Einführungsbuch zu Python gelesen, daher wusste ich, dass ich die Eingabe als Eingabemethode verwenden sollte. Mein Verständnis von Input war jedoch überwiegend unzureichend.
Apropos Eingabe: Sie wird in den Kapiteln 1 und 2 angezeigt, nachdem Sie die Umgebung im Python Primer eingerichtet haben. Ich werde auf den Beispielcode verzichten, aber der Beispielcode, der eine solche Ausgabe erzeugt, wird veröffentlicht.
$:Geben Sie den Text ein! : ○○
$:Hallo! ○○
Selbst wenn Sie mit den folgenden Kapiteln fortfahren, studieren Sie eher andere Inhalte als verschiedene Methoden zur Verwendung von Eingaben. Obwohl ich etwas über Input wusste, verstand ich es daher nicht. Ich forderte es zu wettbewerbsfähiger Programmierung heraus und wurde darauf aufmerksam gemacht. In einem Augenblick erstarrte mein Kopf und ich schloss die AtCoder-Registerkarte ...
In der Zwischenzeit war ich motiviert, die wettbewerbsfähige Programmierung erneut zu versuchen, indem ich die Chancen erhöhte, Code richtig zu schreiben, und kehrte erneut zu AtCoder zurück.
** "Auch wenn ich diesmal nicht weiß, werde ich versuchen zu googeln, ohne einzufrieren." **
In diesem Sinne konnte ich bei gründlicher Untersuchung der Eingabemethode die A- und B-Probleme beheben. Das C-Problem kämpft mit dem Rechenaufwand O (N ^ 2) und leidet unter der "TLE" -Wand, die das Zeitlimit überschreitet ...
In der Zwischenzeit stellte sich heraus, dass der "Standardeingang" des Einführungsteils, über den ich gestolpert bin und den ich weggeworfen habe, hauptsächlich in den folgenden drei zusammengefasst wurde. ** ** **
a = int(input())
Ein Muster mit einer Ganzzahl in einer Zeile. Das B-Problem des AtCoder Beginner Contest 176 am 22. August 2020 war dieses Muster. Es gibt jedoch nur wenige Fälle, in denen nur eine Ganzzahl eingegeben wird, und es gibt viele Fälle, in denen die Fragen im Wesentlichen mit den beiden später beschriebenen Mustern kombiniert werden.
a,b,c = map(int,input().split())
Dies ist ein Muster, bei dem die Anzahl der einzugebenden Ganzzahlen zunimmt und mehrfach wird. Das A-Problem im AtCoder Beginner Contest 176 war dieses Muster. Bei der Eingabe mehrerer Ganzzahlen in einer Zeile ist split () integriert, sodass sie durch Leerzeichen getrennt werden können.
A = list(map(int,input().split()))
Wenn Sie nicht entschieden haben, wie viele eingegeben werden sollen, speichern Sie die eingegebenen Ganzzahlen in der Liste. Das C-Problem im AtCoder Beginner Contest 176 war eine Kombination aus einer einzelnen Ganzzahl-Eingabe und einer Liste von Ganzzahl-Eingaben.
Durch das Erlernen dieser drei Eingabemethoden können Sie die Standardeingabe vermeiden, die der erste Stolperstein in der Wettbewerbsprogrammierung ist. Natürlich gibt es viele andere Eingabeformate, aber wenn Sie sie zu sehr verfolgen, wird Ihr Kopf überhitzt. ** Es ist auch wichtig, stolz zu erklären, dass Sie sich nicht erinnern können. ** ** **
Vermeiden Sie den ersten Stolperstein "Standardeingabe" in der Wettbewerbsprogrammierung mit den folgenden drei
#Geben Sie eine Ganzzahl ein
a = int(input())
#Geben Sie mehrere Ganzzahlen ein
a,b,c = map(int,input().split())
#Geben Sie eine Ganzzahl als Liste ein
A = list(map(int,input().split()))
Wenn Sie die Probleme A und B lösen können, werden Sie motiviert sein, wettbewerbsfähige Programme zu erstellen!
Recommended Posts