競プロを始めたいユーザに贈る2クリックで作るC++競プロ環境

by

@wapa5pow

競プロを始めるときにつまづきやすいのは開発環境の整備です。
競プロのサイトが用意しているウェブのエディタでコードを書きそのまま提出するのも手ですが、ローカルで開発できることによりデバッガでデバッグができたりエディタの補完や静的エラー検知ができたり便利なため、いずれはローカル開発環境を構築するようになります。

昨今はC++, Java, Pythonなど様々な言語で競プロができますが、C++は過去の知見が豊富で参考にできるコードが多いことから選択肢に乗りやすいです。
自分の経験からいっても最初はJavaScriptでやっていましたが、結局資料の豊富さからC++にしました。

C++にすると問題なのは環境構築です。どのバージョンのコンパイラを使ったらいいか、どのようにデバッグするか、調べるだけで一苦労です。
そんな悩みを解決するためにVSCodeのDev Containerで2クリックで完成する開発環境を作成しました。

https://github.com/wapa5pow/cpp-programming-contest-environment

使い方はREADME.mdに書いてありますが、以下の事が2クリック後にすぐ行えます。(ojツールを使用して実現しています)

  • AtCoderからなど各種の競プロ用サイトから問題とテストケースのダウンロード
  • C++のプログラムをコンパイルしてテストケースを試し正解したら提出
  • C++のプログラムをデバッガでデバッグ。ブレークポイントも使用可能

なおC++から学びたいという方は以下のコンテンツがおすすめです。

https://atcoder.jp/contests/apg4b

もし競プロ始めたいけど開発環境構築が面倒だなという方は使ってみてください。
Widows/Mac両方で動作することを確かめています。

あとがき

これを作ろうと思ったのは以前作ったMacでの環境が、Macを修理に出したためまっさらになりまた再構築しなければいけなくなったからです。どうせ再構築するならポータブルなどこでもできる環境をつくろうと思い作りました。
M1でも動くようになったのでサブ機としているM1を旅行のときにもっていっても同じ環境を再現できとても便利になりました。