目次
はじめに
この記事では、ABC342のA問題を解説していきます。
ABC(AtCoder Beginner Contest)とは、AtCoderが開催している、競技プログラミングコンテストです。
ABC342 B – Which is ahead?
問題
N人が1列に並んでおり、前からi番目に並んでいる人は人 \(P_i\) です。
また、Q個のクエリがあり、i番目のクエリは以下の内容です。
- 人 \(A_i\) と人 \(B_i\) のうち、より前に並んでいる人の番号を出力せよ。
Q個のクエリを処理する問題です。
制約
- \(1 \leqq N \leqq 100 \)
- \(1 \leqq P_i \leqq N \)
- \(1 \leqq Q \leqq 100 \)
- \(1 \leqq A_i \leqq B_i \leqq N \)
思考の筋道
クエリの数が100以下であり、人数も100人以下ですので、十分、全探索できます。
素直に人 A_i と B_i がリストの何番目かを調べ、それを比較することで解けますね!
コード
N = int(input())
P = list(map(int, input().split()))
Q = int(input())
l = [list(map(int, input().split())) for _ in range(Q)]
for pair in l:
A, B = pair[0], pair[1]
id_a = P.index(A)
id_b = P.index(B)
if id_a < id_b:
print(A)
else:
print(B)
以上、ABC342のB問題の解説でした!
では、またね。
コメントを書く