' P '

whatever I will forget

ABC137 C - Green Bin

概要

atcoder.jp

問題形式

解法の中での重要な要素

  • Pythonでは、通常のdictとdefaultdictが存在する.
  • 簡単に違いをまとめると:

dict

  • keyが存在しない場合、エラーになってしまう.
  • 例えば、dict[key] += 1をした際に、keyがない場合はエラーになるので、keyがあるかどうかのチェックをしないといけない

defaultdict

  • keyが存在しなくてもチェックが必要ない.
  • valueを初期化しておくことが可能.

参考

qiita.com

nC2、組み合わせ

  • N個の中から、2個を選ぶという方式.
  •  nC2 = \dfrac{n \times (n-1)}{2}

サンプル

from collections import defaultdict

n = int(input())

num = defaultdict(int)
for i in range(n):
    s = ''.join(sorted(input()))
    num[s] += 1

result = 0
for s in num:
    n = num[s]
    # nC2
    result += n * (n-1) // 2
print(result)