[PYTHON] Automatisiert die Erstellung von AtCoder-Verzeichnissen, das Testen von Beispielfällen und das Senden. atcoder-cli und online-Judge-Tools

Image from Gyazo

Die in diesem Eintrag verwendete Umgebung ist Windows 10, Python 3. Natürlich unterstützt es auch andere Betriebssysteme und Sprachen. Was Sie tun können Erstellen Sie ein Wettbewerbsverzeichnis * acc new {Wettbewerbs-ID} * Ein Wettbewerbsverzeichnis wird erstellt. * Das Verzeichnis wird für jedes Problem unter dem Wettbewerbsverzeichnis abgeschnitten. Unter dem Fragenverzeichnis werden eine main.py-Datei zum Schreiben der Antwort und eine Testdatei zum Beschreiben der Eingabe und Ausgabe des Beispielfalls erstellt.

Contest ID/  ├ a/  │ └ main.py  │ └ test/  │   └ sample-1.in  │   └ sample-1.out  │   └ sample-2.in  │   └ ...  ├ b/  │ └ main.py  │ └ test/  │   └ ...  └ ...

Führen Sie einen Beispielfalltest durch

Image from Gyazo

einreichen

Image from Gyazo

Einführungsmethode

Voraussetzungen

Atcoder-cli läuft auf node.js und Online-Judge-Tools laufen auf Python, daher müssen Sie sie installieren. Wenn Sie es noch nicht installiert haben, empfehlen wir, es mit Chocolatey (Homebrew für Windows und Mac) zu installieren. Zukünftige Updates werden viel einfacher sein.

Hinweise zum Erstellen einer Umgebung mit Chocolatey \ -Qiita

Führen Sie nach der Installation von Chocolatey den folgenden Befehl aus und es ist OK.

install.ps1


cinst nodejs.install -y
cinst python -y

Einführung in atcoder-cli und Online-Judge-Tools

Weitere Informationen finden Sie im folgenden Tutorial:

Fertigstellen.

atcoder \ -cli tutorial \ | I Rogu

Sie müssen sich mit atcoder-cli und Online-Judge-Tools bei AtCoder anmelden.

Aufbau

Lassen Sie uns die Einstellungen ändern, um die Verwendung von atcoder-cli zu vereinfachen. Es gibt keine Einstellung in Online-Richter-Tools.

[Einführung in online \ -judge \ -tools \ (Japanisch ) # Nicht vorhandene Funktionen - Online \ -judge \ -tools-Dokumentation](https://online-judge-tools.readthedocs.io/en/master/introduction .ja.html # id7)

Vorlageneinstellungen

Sobald Sie eine Vorlage eingerichtet haben, können Sie:

Stellen Sie die Vorlagendatei gemäß "Vorlageneinstellungen" im Lernprogramm ein.

atcoder \ -cli tutorial \ | I Rogu

Ich habe die folgenden Einstellungen.

├ Config/  │ └ python/  │   └ main.py  │   └ template.json  │ └ config.json  │ └ session.json

template.json


{
    "task": {
        "program": [
            "main.py"
        ],
        "submit": "main.py"
    }
}

main.py


#!/usr/bin/env python3

def main():
    N = map(int, open(0).read().split())


main()


#! / usr / bin / env python3 ist Shebang.

Mit AtCoder können Sie zwischen Python2 und Python3 als Python-Ausführungsumgebung wählen. Shebang wird verwendet, um explizit anzugeben, dass Python3 verwendet wird. Wenn Sie dies vergessen, wird eine Fehlermeldung angezeigt, dass Sie die Ausführungsumgebung beim Senden nicht auf eine eingrenzen können.

open (0) .read (). split () ist ein Lesevorgang der Konsoleneingabe.

Konfiguration ändern

Sie können die aktuellen globalen Einstellungen mit acc config überprüfen. Der Standardwert lautet wie folgt.

config.sh


$ acc config
oj-path: C:/Python38/Scripts/oj.exe
default-contest-dirname-format: {ContestID}
default-task-dirname-format: {tasklabel}
default-test-dirname-format: tests
default-task-choice: inquire
default-template: 

Ich werde das ändern.

.sh


$ acc config default-test-dirname-format test

Benennen Sie das Testverzeichnis um, damit es mit den Online-Richter-Tools übereinstimmt. Dies ermöglicht Online-Judge-Tools, das Testverzeichnis zu erkennen und automatisierte Tests von Beispielfällen zu ermöglichen.

.sh


$ acc config default-task-choice all

Legt die Auswahlmethode für Probleme fest, die beim Ausführen von "acc new {Contest Id}" Verzeichnisse erstellen. Die Standardeinstellung "Anfrage" zwingt Sie, das Problem jedes Mal manuell auszuwählen. Ich möchte alle Verzeichnisse auf einmal erstellen, also setze ich es auf "alle".

.shell


$ acc config default-template python

Geben Sie die Vorlage an, die Sie standardmäßig verwenden möchten. Ich verwende Python, aber geben wir die am häufigsten verwendete Vorlage an, die in "Vorlageneinstellungen" erstellt wurde.

abschließend

Damit ist die Installation von atcoder-cli und Online-Judge-Tools abgeschlossen, und Sie können es wie das Video am Anfang verwenden. Lassen Sie uns AtCoder bequem genießen!

Recommended Posts

Automatisiert die Erstellung von AtCoder-Verzeichnissen, das Testen von Beispielfällen und das Senden. atcoder-cli und online-Judge-Tools
AtCoder: Python: Automatisieren Sie Beispieltests so weit wie möglich.
Automatische Übermittlung von AtCoder (Python)