AtCoder-ABC203 A - Chinchirorin / B - AtCoder Condominium【Python解答例】
AtCoder Beginner Contest203のA とB問題についてPythonの解答例を記事にしていきます。
AtCoder Beginner Contest 203(Sponsored by Panasonic) - AtCoder
AtCoder Beginner Contest203 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
問題文
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