Beginnen wir mit TopCoder in Python (Version 2020)

Hinweis: Wenn Sie nach dem TopCoder-Applet suchen, wird ein Link zu einer Webseite namens topcodr.co angezeigt. Beachten Sie jedoch, dass dies ein anderer Domainname als topcoder.com ist. Bitte gib mir. </ font> </ b>

Einführung

TopCoder taucht fast immer auf, wenn Sie sich Bücher und Artikel zum Programmieren von Wettbewerben ansehen, aber es hat eine starke Angewohnheit von System- und Problemsätzen, und ich halte das Einreichen einer früheren Frage für eine hohe Schwelle.

Neulich habe ich einmal mit Python an SRM teilgenommen, daher werde ich die grundlegende Betriebsmethode und die Vorbereitung der Umgebung veröffentlichen. Die in diesem Artikel erläuterten Punkte sind die folgenden drei Punkte.

―― 1. Verwenden Sie niemals die Webversion für Arena. Greifen Sie mit der Java-Version auf Arena zu. ―― 2. Greifen Sie auf frühere Fragen zu SRM zu und senden Sie sie ab ―― 3. Setze "Editor" in Arena (Gier wird in diesem Artikel verwendet)

Greifen Sie mit der Java-Version auf Arena zu.

Wenn Sie bereits ein TopCoder-Konto haben, haben Sie wahrscheinlich über "Community-> Compete-> Competitive Programming" auf ein Tool namens Arena zugegriffen. Die Webversion ist jedoch langsam und der Zugang zu früheren Fragen ist sehr schlecht. Vielmehr ist es nutzlos.

https://www.topcoder.com/community/competitive-programming/how-to-compete#The%20Applet%20Arena Bereiten Sie die Java-Version von Arena unter Bezugnahme auf vor. Das Verfahren ist wie folgt.

-Installieren Sie Java JRE.

  • Sobald die JRE installiert ist, öffnen Sie unter Windows die Systemsteuerung "Java-Konfiguration" und fügen Sie "http: // www.topcoder.com" zu den Sicherheits- "Ausnahmeseiten" hinzu. Dadurch kann das heruntergeladene Applet ausgeführt werden.

  • Greifen Sie auf der vorherigen Seite auf [Link zum Java-Applet von TopCoder] zu (http://community.topcoder.com/contest/arena/ContestAppletProd.jnlp). Es ist praktisch, dieses Applet zu speichern und auf Ihrem Desktop abzulegen. (Ich denke, das Applet wird möglicherweise aktualisiert, daher ist der Link möglicherweise vorzuziehen.)

  • Geben Sie Ihren TopCoder-Benutzernamen und Ihr Passwort ein, um sich anzumelden.

Greifen Sie auf frühere Ausgaben zu und reichen Sie sie ein

In TopCoder muss eine entsprechende Klasse erstellt werden, anstatt stdin wie AtCoder und Codeforces einzugeben. Auf den ersten Blick scheint es schwierig zu sein, sie anzubringen. Es ist kein Problem, wenn Sie hier nur den Fluss überprüfen und mit dem nächsten Schritt fortfahren.

--Practice Room in Arena-> Wählen Sie das vergangene Problem aus, das Sie in SRMs sehen möchten.
Einige Stunden vor Beginn des Wettbewerbs können Sie vorübergehend nicht auf frühere SRM-Fragen zugreifen. Versuchen wir es nach dem Ende des Wettbewerbs. </ font>

  • SRM besteht im Wesentlichen aus 3 Fragen. Wählen Sie das Problem, auf das Sie zugreifen möchten, aus der Codierungsphase aus.
  • Es wird ein Problem geben, also werde ich es lösen.
  • Nachdem Sie den Code geschrieben haben, führen Sie ihn in der Reihenfolge "Kompilieren-> Batch-Test-> Senden" aus. (Kompilieren ist auch in Python erforderlich)
  • Wenn Sie den Test einreichen und bestehen, wird die folgende Anzeige angezeigt und es werden Punkte vergeben. Aber ende nicht mit. Dies ist nur so, dass die Übermittlung abgeschlossen wurde, nicht überprüft wird, ob jeder Batch-Test bestanden wurde, und im Gegensatz zu Codeforces wird kein etwas stärkerer Vortest durchgeführt.
  • Schließen Sie einmal dieses Fenster, wechseln Sie zum oberen SRM-Bildschirm und wählen Sie "Übungsoption-> Systemtest ausführen". --Überprüfen Sie das Ergebnis. Im Beispiel sind zwei Systemtests fehlgeschlagen. Sie können die Eingabe / Ausgabe durch Doppelklick überprüfen.

Super wichtig: Installieren Sie Python 2.7

Die Python-Version von TopCoder ist 2.7. Stellen Sie sicher, dass Sie Python 2.7 installieren, bevor Sie mit den folgenden Schritten fortfahren. </ font> </ b>

Setze den Editor auf Gier

  • Rufen Sie die [Github Greed-Seite] auf (https://github.com/zen0wu/topcoder-greed). Es ist wie im Schnellstart, wird aber weiter unten erläutert.

  • Laden Sie das Glas von 2.0RC von den Downloads auf dieser Seite herunter. Legen Sie es in ein geeignetes Verzeichnis.

--Wählen Sie auf der Lobby-Seite "Optionen-> Editor-> Hinzufügen", nachdem Sie sich bei Arena angemeldet haben. Geben Sie wie folgt ein. (Klicken Sie für ClassPath auf Durchsuchen und wählen Sie das in 2 heruntergeladene Glas aus.) (githubより転載)

--Überprüfen Sie Standard und Beim Start. Wählen Sie dann Konfigurieren.

  • Geben Sie hier den vollständigen Pfad des übergeordneten Verzeichnisses ein, in dem die betreffende Vorlage erstellt wird.

  • Wenn Sie in einem späteren Prozess auf das Problem zugreifen, wird das Verzeichnis für jeden SRM in dieses Verzeichnis geschnitten, wie in der folgenden Abbildung gezeigt.

- In diesem Zustand werden (in diesem Fall) "Scissors.py" und "Scissors.html" erstellt, wenn Sie den durch "Nr. 5" angegebenen Ordner öffnen. Beziehen Sie sich auf diesen HTML-Code als Problemstellung, ohne die Beschreibung von Arena zu lesen. Die Liste ist anders und Sie können sie sofort kopieren und einfügen. Dies ist praktisch, wenn Sie den gesamten Satz in maschinelle Übersetzung umwandeln. - Der erstellte Py enthält einen Test. In diesem Fall codieren Sie den folgenden Teil von "return 0", um die Anforderungen zu erfüllen.
class Scissors:
    def openingTime(self, N):
        return 0
(Unten finden Sie den automatisch generierten Code)
  • Mit Python 2.7 ausführen </ font> </ b>. PASS / FAIL wird wie unten gezeigt angezeigt. Lassen Sie uns den Code korrigieren, bis alles PASS ist.
  Testcase #0 ... PASSED! (0.000 seconds)
  Testcase #1 ... FAILED! (0.000 seconds)
           Expected: 40
           Received: 20
  Testcase #2 ... FAILED! (0.000 seconds)
           Expected: 110
           Received: 20
Passed : 1 / 3 cases
  • Wenn alle PASS abgeschlossen sind, führen Sie in diesem Status (dem Status, in dem der Quellcode gespeichert ist) "Kompilieren-> Batch-Test-> Senden" aus. Wenn Sie Compile ausführen, können Sie sehen, dass der Quellcode abgerufen wird, indem Sie "Quellcode von SRM abrufen" sagen. (Intern wird der Quellcode bis # CUT begin übergeben)

gl, hf!

Andere Informationen

  • Japanischer Artikel zum Ändern der Vorlage: https://minus9d.hatenablog.com/entry/2019/05/01/222914

Recommended Posts