【競プロ精進ログ】ABS編<5>

zuka

APG4bを終えたので次はABSです。

本記事は,管理人の競技プロ精進日記としてログを取ったものです。モチベーションを爆上げするために,積極的にアウトプットしていく作戦です。これから競技プログラミングを始めようと考えている人や,なんとなく敷居が高いと感じている人の参考になれば嬉しく思います。その他の記事は以下をご覧ください。

目次

本記事の概要

Atcoderが公表しているc++の入門記事の内容を1からさらっていくものです。今回はABC087B Coinsです。

実装

#include <bits/stdc++.h>
#define _GLIBCXX_DEBUG
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
using namespace std;

int main() {
  int a, b, c, x = 0;
  int ans = 0;
  cin >> a >> b >> c >> x;
 // 3重ループ開始
  rep(i, a+1){
    rep(j, b+1){
      rep(k, c+1){
        if (500*i + 100*j + 50*k == x) ans++;
      }
    }
  }
  cout << ans << endl;
}

ポイント

今回おさえるべき内容

 3重ループの記述方法を確認する

3重ループができますかという問題です。500i + 100j + 50*kではなく500a + 100b + 50*cとしてしまいがちなので注意です。また,for文の範囲は+1したものになっていますが,これはインデックスが0始まりだからです。

よかったらシェアしてね!

コメント

コメントする

目次
閉じる