そろそろICPCなので
to つぶあんくん ()内が僕の流派です 直感的でなければ相談して
テンプレ
入出力
- scanf / cin どちらを使うか(cin)
- 大文字小文字(全部小文字(シフト押すのは実質二文字変数みたいなところがあるので))
- 行列のNMをHWにするか(これはやるべきだと思う、NMが他で使えるのもでかい)
- Kをループ変数のために他の文字に置き換えるか(これは場合によるけど三重ループが予想されるならしておきたい)
- 0-indexedに直すか(直す)
- マルチテストケース(while(cin>>n,n))
ループ変数
- repマクロを使うか(使わない)
- 二次元ループのときの(y, x)と(i, j)の対応(この順番)
- ijkの次のループ変数(s,t,r,aかx,y,z)
- bitDPのときのmaskの変数名(int s=1<<n;for(int b=0;b<s;b++);)
その他
- while(!que.empty())かwhile(que.size())か(while(!que.empty()))
- push_back / emplace_back(emplace_back)
- スペースをどれくらいいれるか(横に長くなるの嫌なのであんまり入れない)
- 改行をどれくらい入れるか(処理の区切りごとに入れる)
- コメントをどれくらい入れるか(場合分けゲーは入れる、それ以外は状況に応じて)
- スコープ(なるべく小さくするようにする)
- for / range-based-for(indexがいらない処理はranged-based-forを使う)
- 番兵(入れられるなら入れる)
- 距離の初期化 -1 / INF (INF)