🔲

ABC292-B: Yellow and Red Card 解説

2023/03/05に公開

問題(問題読解するとこんなことを言ってます)

N人いて,それぞれの人は0ポイント持ってます
Qcxを受け取り対話します
cが1もしくは2ならば,人xのポイントをcポイント増やします
cが3ならば,人xのポイントが2以上かどうか答えてください

制約

1 \leq N \leq 100
1 \leq Q \leq 100
1 \leq x \leq N

https://atcoder.jp/contests/abc292/tasks/abc292_b

解説

  • 愚直にやるだけ
  • 問題文が長いが,やることはシンプル
    • 配列でポイントを管理してあげれば良い
コード
#include<bits/stdc++.h>
using namespace std;

int main(){
  int N, Q;
  cin >> N >> Q;

  vector<int> point(N, 0);
  while(Q--){
    int c, x;
    cin >> c >> x;
    if(c == 1 || c == 2) point[x-1] += c;
    if(c == 3){
      if(point[x-1] >= 2) cout << "Yes" << endl;
      else cout << "No" << endl;
    }
  }
}

https://atcoder.jp/contests/abc292/submissions/39461742

GitHubで編集を提案

Discussion