AtCoder ABC 143 B – TAKOYAKI FESTIVAL 2019 Python解説

スポンサーリンク

TAKOYAKI FESTIVAL 2019

たこ焼きフェスティバル (たこフェス) の季節がやってきました!
今年のたこフェスでは N 個のたこ焼きがふるまわれる予定です。このうち i 個目のたこ焼きのおいしさは di です。
ところで、おいしさが x と y であるたこ焼きを一緒に食べると、体力が x*y 回復することが一般に知られています。
たこフェスでふるまわれる N 個のたこ焼きから、2 個を選ぶ方法は N×(N−1)​ / 2 通り考えられます。そのそれぞれについて、一緒に食べたときの体力の回復量を求めて、その総和を出力してください。

AtCoder Beginner Contest 「TAKOYAKI FESTIVAL 2019」

N個のたこやきのうち、おいしさがxとyのたこやきを一緒に食べると体力がx*y回復するので、体力の回復量の総和を求める問題。

たこやきを2個選ぶ方法はfor文の2重ループで大丈夫です。選ぶ際、組み合わせの不足や重複に気を付けましょう。

n = int(input())
d = list(map(int, input().split()))

ans = 0

for i in range(n-1):
    for j in range(i+1, n):
        ans += d[i] * d[j]
        
print(ans)

ansに回復量の総和。外側のfor文はrange(n-1)まで、内側のfor文はrange(i+1, n)と、要素が重複しないためにi+1から始まることに注意しましょう。

AtCoderB問題

Posted by cheese