ABC159 - Atcoder/Python精進のための解説メモ

カレンダーアイコン
2021/09/21

ABC159 - A.The Number of Even Pairs

AtCoder公式 | ABC159 - A.The Number of Even Pairs

解答

n, m = map(int, input().split())
ans = 0
if n >= 2:
    ans += n * (n - 1) / 2
if m >= 2:
    ans += m * (m - 1) / 2
print(int(ans))

要点解説メモ

  • 偶数同士、奇数同士を選ぶ場合に条件を満たす

ABC159 - B.String Palindrome

AtCoder公式 | ABC159 - B.String Palindrome

解答

s = input()
n = len(s)
ans = 'Yes'

if s != s[::-1]:
    ans = 'No'

num1 = int((n - 1) / 2)
if s[:num1] != s[num1 - 1::-1]:
    ans = 'No'

num2 = int((n + 3) / 2)
if s[num2 - 1:] != s[n:num2 - 2:-1]:
    ans = 'No'
    
print(ans)

要点解説メモ

  • スライスの開始地点と終了地点に注意

ABC159 - C.Maximum Volume

AtCoder公式 | ABC159 - C.Maximum Volume

解答

l = int(input())
print((l / 3) ** 3)

要点解説メモ

  • a,b,c≥0a,b,c≥0のときa+b+c≥3×√3(a+b+c)が成り立ち、a=b=cのときに等号が成立する。(相加相乗平均)
  • この不等式を変形すると、(a+b+c)**3 / 3 ≥ abcとなり等号が成立するときにabcが最大となる。

ABC159 - D.

AtCoder公式 | ABC159 - D.

解答

まだ解いていません

要点解説メモ