【ABC159 A】「The Number of Even Pairs」を解く【Python3】

abc159a

「AtCoder」解説一覧へ

N+M個のボールから2つ選んで、書かれた数の和が偶数になる方法の数を求める問題です。

N個とM個から1個ずつ選んでしまうと、必ず奇数になるため、それ以外の方法の数を計算することにします。

提出
n, m = map(int, input().split())
ans = (n+m)*(n+m-1)//2 - (n*m)
print(ans)

例えば、K個のボールから2個選ぶ選択肢は、全部で「K×(K-1)/2」通りあります。

これに「N+M」を入れて、全ての方法の数を求め、そこから「N個とM個から1個ずつ選ぶ方法」を引いたものが答えになります。

split()メソッド

split()メソッドは、区切り文字を指定して、文字列を分割します。

区切り文字を指定しない場合、空白、タブ、改行で分割されます。

str.split("区切り文字")

map()関数

map()関数は、イテラブル(リストやタプルなど)の各要素に関数の処理を適用します。

map(関数、イテラブル)

このほか、「Nから2個選ぶ方法」と「Mから2個選ぶ方法」を足し合わせても求めることができます。

提出
n, m = map(int, input().split())
ans = n*(n-1)//2 + m*(m-1)//2
print(ans)

【ABC159】解説記事リスト

「AtCoder」解説一覧に戻る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です