初心者のプログラミング日記

プログラミング初心者の日記

プログラミングに関することを書いていきます。

ABC156(A,C,D)

A - Beginner

https://atcoder.jp/contests/abc156/tasks/abc156_a

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

if N>=10:
    print(R)
else:
    num=100*(10-N)
    print(num+R)

C - Rally

https://atcoder.jp/contests/abc156/tasks/abc156_c

N=int(input())
X=list(map(int,input().split()))
ans=0
for i in range(1,101):
    num=0
    
    for j in X:
        num+=abs((j-i)**2)
    
    if ans==0:
        ans=num
    elif ans>num:
        ans=num
            
print(ans)

numが座標毎の移動距離です。

D - Bouquet

https://atcoder.jp/contests/abc156/tasks/abc156_d

import itertools

n,a,b=map(int,input().split())
listed=[]
ans=0
for i in range(n):
    listed.append(i)

for i in range(n):
    if i==a or i==b:
        continue
    else:
        ans+=len(list(itertools.combinations(listed,i)))
        
print(ans%(10**9+7))

自分はオンラインでPythonを実行しているので、入力例2を入れるとタイムアウトしてしまうため、合っているか合わかりません。

B問題は以下の記事がわかりやすかったです。
https://atcoderblue.asukatagui-blog.com/abc156b/