【競プロ精進ログ】APG4b編<1-7>

zuka

ついに競技プログラミングを始めました!

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

目次

本記事の概要

Atcoderが公表しているc++の入門記事の内容を1からさらっていくものです。今回は1.07.条件式の結果とbool型です。

実装

#include <bits/stdc++.h>
using namespace std;

int main() {
  // 変数a,b,cにtrueまたはfalseを代入してAtCoderと出力されるようにする。
  bool a = true;
  bool b = false;
  bool c = true;

  // ここから先は変更しないコード
  if (a) {
    cout << "At";
  }
  else {
    cout << "Yo";
  }

  if (!a && b) {
    cout << "Bo";
  }
  else if (!b || c) {
    cout << "Co";
  }

  if (a && b && c) {
    cout << "foo!";
  }
  else if (true && false) {
    cout << "yeah!";
  }
  else if (!a || c) {
    cout << "der";
  }

  cout << endl;
}

ポイント

今回おさえるべき内容

 真(true)のことを1,偽(false)のことを0で表す

 bool型は「2つの状態しかないもの」を表したもの

 bool型は人間様に分かりやすいように0 or それ以外を表したもの

新しい型としてbool型を導入します。簡単には真偽を表す型なのですが,実態は整数です。つまり,コンピュータ上で偽を表すのは0,真を表すのはそれ以外とします。

それでは,なぜbool型が必要なのかというと,人間様がソースコードを分かりやすいように記述できるようにするためです。if (flag==0);という条件とif (flag==false)という条件では,やはり後者の方が分かりやすいですよね。このような背景からbool型が存在しているものと考えられます。将来的に取り組むことになるDP(動的計画法)で酷使する型ですので,これから積極的に利用していきましょう。

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

コメント

コメントする

目次
閉じる