【競プロ】 AWS Cloud9でAtcoderLibraryを導入しよう

 

こんにちは

前編では「Cloud9を使うと簡単にc++環境が整うよ」という話をしました.今回はその続きで,「AtcoderLibraryを導入しよう」という話をします

前編はこちら

sojisan-kyopro.hatenadiary.com

AtcoderLibraryを導入しよう

1.AtcoderLibraryをダウンロードして解凍します

atcoder.jp

2.解凍したフォルダ内の,「atcoder」フォルダをcloud9上にドラッグし,コピーします

ファイル名の上にドラッグしないとコピーされないので注意しましょう

f:id:sojisan:20201014103425p:plain



3.コンパイルコマンドを書き換える

#include<atcoder/all>を含めてコンパイルしようとしても,これのファイルがあるのはインクルードパスではないので怒られてしまいます これを解決します

 f:id:sojisan:20201014103746p:plain

 

下記画像のRunner→Edit Runnerを選択します

f:id:sojisan:20201014104032p:plain

内容をコピーします

f:id:sojisan:20201014104139p:plain

 

下記画像のRunner→New Runnerを選択し,開かれたファイルにコピーした内容をペーストします

f:id:sojisan:20201014104032p:plain

 

七行目を

" g++ -ggdb3 -I . -std=c++17 -Wall $file -o $file.o ",

十一行目を

" g++ -std=c++17 -Wall $file -I . -o $file.o",

に書き換えます

f:id:sojisan:20201014104558p:plain

 

Ctrl+Shift+Sで適切な名前に書き換えて保存します

f:id:sojisan:20201014104643p:plain

 

おわり

 

プログラムを実行してみよう

先程保存したrunnerを選択します(画像ではc++_withACL)

f:id:sojisan:20201014105025p:plain

Runを押してプログラムが実行できることを確認します

f:id:sojisan:20201014105244p:plain

 

おわり

 

いかがでしたか

簡単ですね.

 

おまけ expander.pyを使おう

codeforcesなどではACLを使えません これの対策として,公式から「expander.py」というツールが提供されています(これの内容については,ACLをダウンロードするとついてくるマニュアルをご確認ください)

cloud9でもこれを使おうという話をします

 

cloud9にexpander.pyをコピーします

f:id:sojisan:20201014105751p:plain

 

New  Terminalを開きます

f:id:sojisan:20201014110114p:plain



 

ターミナルに「python3 expander.py (展開したいファイル名)」と入力し,実行します

f:id:sojisan:20201014110038p:plain

 

combined.cppが生成されます

おわり