競技プログラミング用 知識集積所

bool型

最終更新:

Bot(ページ名リンク)

- view
管理者のみ編集可


雑な説明

最も代表的な整数型変数。

レベル

ABCのA問題レベル。

詳細な説明

1ビットでtrueとfalseのみ入れられる。
if分岐などの条件に長々と書きたくないときに、bool型変数に一度書き込んだりする。
あるいは、大量の条件を処理する場合に事前にbool型変数を用意して処理することもある。

宣言と初期化

宣言だけする場合
bool a;
初期化もする場合
bool a = true;

可能な演算

一応ビット演算(未作成)は(シフト以外)可能だが、あまり使うことはないかも……。


よく使う処理

if分岐のときに大量の条件をループで扱う処理

全部trueなら実行したい/1つでもfalseなら実行したい

全部trueなら実行するコード。
bool flag = true;
for (int i=0; i<n; i++) {
  if (!i個めの判定) flag = false;  // 条件は否定形なので注意
}
if (flag) 実行したい処理
最後の行を
if (!flag) 実行したい処理
に変更すれば、1つでもfalseで実行。

1つでもtrueなら実行したい/全部falseなら実行したい

1つでもtrueなら実行。
bool flag = false;
for (int i=0; i<n; i++) {
  if (i個めの判定) flag = true;
}
if (flag) 実行したい処理
最後の行を
if (!flag) 実行したい処理
に変更すれば、全部falseで実行。

注意点



関連アルゴリズム

ウィキ募集バナー