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

ABC396A - Triple Four

最終更新:

sport_programming

- view
管理者のみ編集可


問題


必要知識


考え方

まずは入力内容を確認。
入力内容はvector(未作成)のサイズと中身。
まずは、int型整数を用意し、サイズの整数を用意する。
その後、指定サイズのvector(未作成)を用意し、forループを使って中身を受け取る。

そして、forループif分岐で、3つ連続同じ数である場所を探す。

forループはn-2回なので、まず
for (int i=0; i<n-2; i++) {
  コード
}
と用意する。

そして、条件判定のif分岐は、
if (a.at(i)==a.at(i+1)&&a.at(i+1)==a.at(i+2)) {
  コード
}
のように、2つの条件を&&でつなぐことで判定する。

最後に条件を満たす部分が1つでもあったらYesという部分。
これは、最初にbool型のfalseやそれに類するものを用意しておき、条件を満たしたらtrueにすることでうまく処理できる。

あとは、忘れずにcoutで出力しておしまい。

解答例


注意点

3つが等しいという条件の書き方に注意。

数学と異なり、
if (a.at(i)==a.at(i+1)==a.at(i+2)) {
  コード
}
とは書けない。

別解

ウィキ募集バナー