AtCoder Challenge-Umgebungskonstruktion (Java 8)

Einführung

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.

Motivation

――Ich war der Meinung, dass es besser wäre, Java zu lernen als das Unternehmensklima.

Zielumgebung

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.

1. Java-Installation

AtCoder kann OpenJDK 1.7.0 oder OpenJDK 1.8.0 verwenden. Ich habe Java SE 8 in meiner lokalen Umgebung installiert.

  1. Laden Sie das Installationsprogramm von [Java SE Downloads] herunter (https://www.oracle.com/java/technologies/javase-downloads.html).
  2. Installieren Sie gemäß dem Installationsprogramm.
  3. Es wird empfohlen, dass Personen, die den Installationsort geändert haben, und Personen, die ihn nicht geändert haben, die Umgebungsvariablen für beide Versionsverwaltungen anpassen.
    JAVA_HOME: [Der Speicherort, an dem Java installiert ist. Standard: C: \ Programme \ Java \ jdk1.8.0_xxx]
    Zu PATH hinzufügen:% JAVA_HOME% \ bin

2. Installieren Sie VS Code

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.

  1. WSL Sie können einige finden, indem Sie im Microsoft Store nach "WSL" suchen. Wenn Sie nicht wissen, welche Sie eingeben sollen, sollte Ubuntu 18.04 in Ordnung sein. (Es gibt viele Artikel) Gibt an, ob Python3 / Node.js in Windows oder WSL eingefügt werden soll Der Inhalt der Referenzseite kann unterschiedlich sein, daher ist es besser, hier zu entscheiden.

4. Python3 / Online-Judge-Tools und Node.js / atcoder-cli

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.

5. Ein Gerät, das die Übermittlung in Java vereinfacht

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

Zusammenfassung

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.

Jabashi: Warum hast du Windows der WSL vorgezogen?

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

AtCoder Challenge-Umgebungskonstruktion (Java 8)
[Java] Umgebungskonstruktion
Java Entwicklungsumgebung Konstruktion
JavaFX-Umgebungskonstruktion in Java 13
[Java & SpringBoot] Umgebungskonstruktion für Mac
Konstruktionsmethode für die Java-Ausführungsumgebung (Tomcat @ Linux)
[Processing x Java] Erstellen einer Entwicklungsumgebung
Konstruktionsnotiz für die Java-Entwicklungsumgebung auf dem Mac
Java-Entwicklungsumgebung
Spielen Sie die Framework 2.6 (Java) -Umgebungskonstruktion mit Eclipse
Aufbau der Spring Boot + Docker Java-Entwicklungsumgebung
[Frühling] Umweltbau
Minimale Java-Umgebungskonstruktion und Hello World
Road to Java Engineer Teil 1 Einführung & Umgebungskonstruktion
Konstruktionsverfahren für die JAVA + STS-Umgebung (Spring Tool Suite)
[Notepad ++] Aufbau einer C-Sprache / Java-Kompilierungs- und Ausführungsumgebung
Aufbau der Penronse-Umgebung [Windows]
[Zusammenfassung] Zum Beispiel die Vorbereitung der Java-Umgebung
Aufbau der Rails Docker-Umgebung
[LeJOS] Programmieren wir mindstorm-EV3 mit Java [Umgebungskonstruktion Teil 2]
Erstellen Sie eine Java-Entwicklungsumgebung auf Mac-JDK Install (2020-Aufbewahrungsversion).
[Mac] VS Code-Entwicklungsumgebungskonstruktion (Java, Gradle, Node.js)
[Java] Umgebungskonstruktionsverfahren zum Entwickeln von Streben 1.3 mit Eclipse
Erstellen Sie eine Java + Spring-Entwicklungsumgebung mit VirtualBox + Ubuntu (Xfce4).
Aufbau der Rails6-Entwicklungsumgebung [Mac]
[Spring Boot] Umgebungskonstruktion (macOS)
Rails Engineer Environment Construction Ruby2.7.1
[LeJOS] Programmieren wir mindstorm-EV3 mit Java [Umgebungskonstruktion erster Teil]
Ich habe versucht, node-jt400 (Umgebungskonstruktion)
Erstellung einer Webanwendungsentwicklungsumgebung in Java (für unerfahrene Personen)
Schienen Umgebungsbau Schienen5.2.1 ruby2.5.1 Catalina
Konstruktionsnotiz für die MySQL 5.7 (Docker) -Umgebung
Einführung in Metabase ~ Umgebungskonstruktion ~
Erstellung einer Java-Webanwendungsentwicklungsumgebung mit VS-Code (struts2)
Java-Entwicklungsumgebung (Mac, Eclipse)
Redmine (Docker) Umgebungskonstruktionsnotiz
[Docker] Rails 5.2-Umgebungskonstruktion mit Docker
Offline-Umgebungskonstruktion Ruby Edition
Aufbau der Docker x Spring Boot-Umgebung
[Super einfach] Ruby-Umgebungskonstruktion
[Rails / MySQL] Aufbau einer Mac-Umgebung
[Docker] postgres, pgadmin4-Umgebungskonstruktion
Erstellen Sie eine Java- und JavaScript-Teamentwicklungsumgebung (Gradle-Umgebungskonstruktion)
Aufbau einer Laravel-Umgebung (Ubuntu 18.04 LTS)
Offline-Umgebungskonstruktion CentOS Edition
[Aufbau einer Java-Entwicklungsumgebung] Installieren Sie OpenJDK 11 (Java 11) unter macOS mit Homebrew
[ev3 × Java] Aufbau einer leJ OS-Entwicklungsumgebung (Eclipse unter Mac OSX / Bluetooth)
Löse den AtCoder-Anfängerwettbewerb 151 mit Java
Erstellen Sie die Node.js-Umgebung mit Docker Compose
[Eclipse Java] Memo zum Einstellen der Entwicklungsumgebung
◆ Konstruktionsnotiz für Spring Boot + Gradle-Umgebung