atcoderのABC用C++テンプレ
template.cpp
を問題 (A,B,C, ...)ごとにコピーして使う- ファイル名にスペースを含まないようにする
make
でディレクトリ内のすべてのcppファイルをそれぞれコンパイルtools.cpp
必要に応じてコピペして使える関数を実装- a^n mod m
- nCr
- nCr mod m
- ダイクストラ(by 優先度付きキュー)
- 幅優先(by キュー)
- 深さ優先(by スタック)
- 深さ優先(by 再帰)
- UnionFind など
- コンパイル後に自動的に実行するようにするにはMakefileの
# ./$@
のコメントアウトを外す
- AtCoder Beginners Selectionを解く例
./AtCoderBeginnersSelection/
- 競プロ典型90問を解く例
vector<int> vec(3);
cin >> vec;
cout << vec;
10 20 30 (入力)
[ 10, 20, 30, ]
pair<int, int> p;
cin >> p;
cout << p;
1 2 (入力)
(1, 2)
set<int> s{1,2,3};
cout << s;
{ 1, 2, 3, }
map<int, int> m{{1,2},{3,4}};
cout << m;
{ 1:2, 3:4, }
int a,b,c;
IN(a,b,c);
OUT(a,b,c);
1 2 3 (入力)
1 2 3
REP(i, 3)
OUT(i);
0
1
2
LL a = 1LL; // long long
VI vec; // vector<int>
詳しくはtemplate.cppを参照。
// #pragma GCC optimize("O3")
使えないコンパイラでは無視される. 使用する場合はコメントアウトを外す.
istringstream debug_iss(R"(
デバッグ時はここに入力を貼り付けて下記マクロのコメントアウトを外す
)");
// #define cin debug_iss
ac-libraryを使う場合
- ac-libraryをダウンロードしてくる
- zipを展開して
ac-library
をcppと同じ階層に置く Makefile
の以下のコメントアウトを外す
# INCLUDE = -I ac-library
- includeして使う
#include <atcoder/all>