ebisukeプログラミング初心者脱出黙示録

30歳を過ぎてから始めたプログラミングと競プロの記録。Pythonで取り組んでいます。Arduinoで電子工作も

AtCoder-ABC203 A - Chinchirorin / B - AtCoder Condominium【Python解答例】

f:id:ebisuke33:20210531201435p:plain

AtCoder Beginner Contest203のA とB問題についてPythonの解答例を記事にしていきます。
AtCoder Beginner Contest 203(Sponsored by Panasonic) - AtCoder



AtCoder Beginner Contest203 A - Chinchirorin

A - Chinchirorin

問題文

高橋君が 3 つのサイコロを振ったところそれぞれ a,b,c の目が出ました。
a,b,c のうちある 2 つが同じときは残りの 1 つのサイコロの目を、同じものがないときは 0 を出力してください。

制約

・1≤a,b,c≤6
・a,b,c は全て整数である。

解答例

a, b, c = map(int,input().split())

if a == b:
    print(c)
elif b == c:
    print(a)
elif c == a:
    print(b)
else:
    print(0)

解説

サイコロを3つ振って同じ目が2つあるときは残りの1つの目を、すべて違う目のときは0を出力する問題です。

a = b のときはcを、b = c のときはaを、c = a のときはbを出力し、全部に該当しなければ0を出力すればOKでした。

(ただし、a = b = c の場合を考慮し、elifを使用する必要があります)


AtCoder Beginner Contest203 B - AtCoder Condominium

B - AtCoder Condominium

問題文

AtCoder マンションは 1 階から N 階までの N 階建てのマンションです。 各階には K 室の部屋があり、1 号室から K 号室まで番号が振られています。

ここで N,K は 1 桁の整数であり、 i 階の j 号室の部屋番号は i0j で表されます。 例えば、1 階の 2 号室の部屋番号は 102 です。

マンションの管理人である高橋君は各部屋番号を 3 桁の整数とみなし、 AtCoder マンションに存在するすべての部屋について足しあわせたらいくつになるのか興味を持ちました。 その値を求めてください。

制約

・1≤N,K≤9
・N,K は整数である。

解答例

n, k = map(int,input().split())

ans = 0
for i in range(1,n+1):
    for j in range(1,k+1):
        ans += 100*i + j

print(ans)

解説

マンションの部屋番号をすべて足し合わせていき、その合計値を答える問題です。

制約が厳しくないので2重ループで合計値を求めました。

i階は部屋番号では100の桁になるので100×iとj号室のjを足し合わせていきます。

ループを抜けたあとに足し合わせたans変数を出力すればACでした。



ABC203の関連記事はこちら
ebisuke33.hatenablog.com