Python3で、AtCoderの過去問に取り組んでいるのですが、なぜ不正解になるのかわかりません。
不正解になる理由を教えてください。
#問題文
問題文はこちらです。
https://atcoder.jp/contests/past201912-open/tasks/past201912_d
#私のコード
#入力を受け取り、NとAを取得する a=list(map(int,input().split())) N=a[0] A=a[1:] #1からNまでを含むリストを作る→ans(これをもとに欠けている要素を探す) ans=[] for i in range(N): ans.append(i+1) #Aから重複を削除したリストを作る→remove remove=list(set(A)) #if文を用いて条件に応じて答えを出力する if len(remove)==len(A): print("Correct") else: for i in range(len(ans)): if ans[i] not in A: x=ans[i] break y=x+sum(A)-sum(ans) print(str(y)+" "+str(x))
#試したこと
問題文中に与えられている入力例を用いたときには正しい結果が得られています。
提出結果を見てみると、テストデータ「example_01.txt」では不正解ですが、「example_02.txt」では正解なので、私のコードは特定のデータセットに対応していないように思われます。
しかし、いくら考えてもその反例がわかりません。
わかる方、教えてください。
(私のコードが汚いことや、効率が悪いことは無視してください。)
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー