見出し画像

チャットAI「ChatGPT」で情報オリンピック予選問題(二人三脚)⇒合格回答

問題文張り付けてみるだけで、AIがプログラムを書いてくれるのは凄い。


解いてみた問題

二人三脚 (2022年度予選1回目問題4)

チャットのお返事(コメント入りの合格できるプログラムを生成)


# N と A1, A2, …, A2N-1 を入力
N = int(input())
A = list(map(int, input().split()))

# A1, A2, …, A2N-1 の値を集計するための辞書を作成
d = {}

# A1, A2, …, A2N-1 の値を順に読み込みながら、辞書から出現回数を取得し、
# 出現回数が 2 回以下であればその値が A2N となる
for a in A:
    d[a] = d.get(a, 0) + 1
    if d[a] <= 2:
        A2N = a

# A2N を出力
print(A2N)

入力した文章

ほぼ問題文コピペ
(最後に「Pythonプログラムを作成せよ」を入れた程度)

JOI 高校には 2N (= 2 ✕ N) 人の生徒がおり,1 から 2N までの番号が付けられている.

来月 JOI 高校では運動会が開催され,その中の競技「二人三脚」では,2N 人の生徒が N 組の 2 人組に分かれレースを行う.

組には 1 から N までの番号が付けられており,生徒 i (1 ≦ i ≦ 2N) は組 Ai に属している.

あなたはどの生徒がどの組に属しているかの表を作ったが,どういうわけか,生徒 2N がどの組に属しているか分からなくなってしまった.

A1, A2, …, A2N-1 が与えられるので,生徒 2N が属する組の番号 A2N を求めよ.


制約
1 ≦ N ≦ 100.
1 ≦ Ai ≦ N (1 ≦ i ≦ 2N - 1).
どの x (1 ≦ x ≦ N) も A1, A2, …, A2N-1 の中に 2 回までしか出現しない.
入力される値はすべて整数である.
入力
入力は以下の形式で標準入力から与えられる.
N
A1 A2 … A2N-1

出力
生徒 2N が属する組の番号 A2N を出力するPythonプログラムを作成せよ

この記事が参加している募集

最近の学び

公務員で受取出来ませんので、お気持ちだけで大丈夫です~