Ich konnte ein herausforderndes Umfeld für AtCoder schaffen, bis ich zufrieden war. Ich weiß nicht, ob es für alle nützlich sein wird, aber ich habe es in einem Artikel zusammengestellt, um Informationen auszutauschen.
――Ich war der Meinung, dass es besser wäre, Java zu lernen als das Unternehmensklima.
Ich habe es unter Windows 10 erstellt. Ich konnte es mit WSL bauen, aber ich denke, es spielt keine Rolle, um welches es sich handelt, da es in einem guten Zustand ist. Nach dem Bau befindet es sich im folgenden Zustand.
AtCoder kann OpenJDK 1.7.0 oder OpenJDK 1.8.0 verwenden. Ich habe Java SE 8 in meiner lokalen Umgebung installiert.
Kürzung. Ich werde meinen Artikel verlinken. Verwenden von Visual Studio-Code auf einem Offline-PC Ich denke, das Java Extension Pack ist alles, was Sie für die Erweiterung benötigen. Wenn Sie Eclipse oder einen anderen Editor verwenden, müssen Sie ihn nicht einschließen.
Auf der Seite atcoder-cli wird die Einführung dieser vier Punkte ausführlich beschrieben. Installieren Sie sie daher, während Sie sie befolgen. Ich werde.
Das Folgende wird durch die Einführung der oben genannten atcoder-cli / online-Judge-Tools vereinfacht.
--Erstellen Sie einen Ordner entsprechend dem Problem (ContestID / A bis F Ordner)
Etwas fehlt. Ja, es ist eine Einreichung. Ich weiß nicht, ob die Einstellungsmethode unzureichend oder die Funktion unzureichend ist und sie jetzt nicht unterstützt wird, aber wenn ich die Java-Quelle von atcoder-cli sende, ärgere ich mich über "Bitte wählen Sie die Version!". Mit Online-Judge-Tools können Sie die Sprache angeben, damit Sie sie ausführen können. Hier müssen Sie jedoch jedes Mal die URL eingeben. ... Der Browser ist einfacher. Also habe ich eine Charge gemacht, um sie abzudecken. Ich habe die Submit-Operation "acc s" von atcoder-cli ausgeliehen und mit "acc s" (keine Leerzeichen) erstellt. (WSL kann mit Alias und Bash umgehen.)
accs.bat
@echo off
setlocal enabledelayedexpansion
rem ---Hauptsequenz
setlocal
Holen Sie sich die Ausführungsposition des Rem-Befehls
FOR /F %%i in ('cd') do set pwd=%%i
Wechseln Sie zur Ausführungsposition des Befehls rem
cd %pwd%
rem Ruft die Wettbewerbs-ID und die Aufgaben-ID vom lokalen Pfad ab
rem Beispiel) C:\AtCoder\abc123\a
set contest_id=%pwd:~-8,6%
set task_id=%pwd:~-1%
rem Anruf mit Wettbewerbs-ID und Aufgaben-ID als Parameter senden
call :Submit %contest_id% %task_id%
endlocal
exit /b
rem ---Einreichungsreihenfolge
:Submit
rem online-judge-Senden Sie durch Angabe der Sprache mit Tools
Erstellen Sie eine URL aus dem Parameter rem
oj submit -l Java8 --no-guess https://atcoder.jp/contests/%1/tasks/%1_%2 Main.java
exit /b
Ich kann es sicher einreichen, damit ich es lokal tun kann. Nachdem Sie das Problem mit dem Browser bestätigt haben, können Sie es jetzt mit VS-Code senden. Sobald Sie Ihre Umgebung erstellt haben, können Sie nicht mehr zu dem zurückkehren, was Sie auf der Codetestseite Ihres Browsers codiert haben.
Es ist ein Slapstick, aber der Grund, warum ich Windows gewählt habe, als ich Windows / WSL gewählt habe
Da die Testfalldateien früherer Probleme unterschiedliche Namen haben, werden sie häufig umbenannt.
Windows wird zur Vereinfachung des Umbenennungsbefehls verwendet.
Beispiel 1) Ich möchte 01.txt, 02.txt, ... 20.txt im Ordner in in 01.in, 02.in, ... 20.in ändern
Windows: ren *.txt *.in
Linux: rename txt in *.txt
Beispiel 2) Ich möchte 01, 02, ... 20 im Ordner in in 01.in, 02.in, ... 20.in ändern
Windows: ren * *.in
Linux: rename 's/$/.in/' *
Ich arbeite unter Windows, weil Windows-Befehle für mich intuitiver sind.
Recommended Posts