本記事は管理人が競技プログラミングを始めたため,その精進日記としてログを取ったものです。アウトプットして積極的にモチベーションを上げていく作戦です。まずはc++を習得するところから始めます。その他の記事は以下をご覧ください。
【競プロ精進日記】目次まとめ
ABC
Atcoder Beginner Contestの過去問を解いています。最低限のコメントと一言が添えられています。
...
スポンサーリンク
for文・break・continue
C++入門 AtCoder Programming Guide for beginners (APG4b)を1からさらっていく内容です。
#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
using namespace std;
int main() {
int N, A;
cin >> N >> A;
rep(i, N){
string operand;
int X;
cin >> operand >> X;
if (operand=="+"){
A += X;
}
else if (operand=="-"){
A -= X;
}
else if (operand=="*"){
A *= X;
}
else if (operand=="/" && X!=0){
A /= X;
}
else{
cout << "error" << endl;
break;
}
cout << i+1 << ":" << A << endl;
}
}
まだ未修ですが,冒頭でマクロ(自作関数)を定義してfor文として利用してます。Atcoderでも利用が推奨されており,解説などでもテンプレートとして用意されているほどです。非常に便利なため,これからも使っていこうと思います。ただ,必要なときにfor文をいじれるようにマクロの変更方法も理解しておく必要があります。書き換えるだけですが。