0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AtCoder初心者 DailyTrainingメモ 2023/12/07

Posted at

ABC292 B-問題

292B.png

ポイント
背番号をキーにイエローカードで +1 、レッドカードで +2 して
イベントナンバー3の場合に対象背番号の累積値を判定する

辞書に格納してカウントする方法

292B.py
from collections import defaultdict

N,Q = map(int,input().split())

dic = defaultdict(int)

for _ in range(Q):
    num, player = map(int,input().split())
    if num == 1:
        dic[player] += 1
    elif num == 2:
        dic[player] += 2
    elif num == 3:
        if dic[player] >= 2:
            print("Yes")
        else:
            print("No")

配列に格納してカウントする方法

292B-2.py
N,Q = map(int,input().split())

# インデックスで管理するので、先頭にゼロ番を追加する
arr = [0] * (N + 1)

for _ in range(Q):
    num, player = map(int,input().split())
    if num == 1:
        arr[player] += 1
    elif num == 2:
        arr[player] += 2
    elif num == 3:
        if arr[player] >= 2:
            print("Yes")
        else:
            print("No")

ABC213 B-問題

213B.png

ポイント
・得点とインデックスの順で二次元配列に格納し、降順ソートする
・ブービー賞なので、先頭から2番目の選手の番号を回答する

辞書に格納してカウントする方法

213B.py
N = int(input()) 
A = list(map(int, input().split()))

ans = [] 
for i in range(N):
    # 二次元配列で、得点 と 順番 を格納する
    ans.append([A[i],i + 1])

# 得点を大きい方からソート
ans.sort(reverse=True)

# 前から 2 番目(インデックスでは、1)の人の並び順を出力する
print(ans[1][1])
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?