提出 #7032385


ソースコード 拡げる

import copy
import math
import sys

sys.setrecursionlimit(10 ** 7)

N = int(input())
s_list = [input() for i in range(N)]


def split(word):
    return [char for char in word]


normalized_s_list = sorted([''.join(sorted(split(s))) for s in s_list])

uniqued_s_list = sorted(list(set(normalized_s_list)))

j = 0
counter = 0
result = 0
for s in normalized_s_list:
    if s == uniqued_s_list[j]:
        counter += 1
    else:
        result += (1 / 2) * counter * (counter - 1)
        j += 1
        counter = 1  # このとき s と uniqued_s_list[j] は同じはずなので

result += (1 / 2) * counter * (counter - 1)
print(int(result))

提出情報

提出日時
問題 C - Green Bin
ユーザ showwin
言語 Python (3.4.3)
得点 300
コード長 672 Byte
結果 AC
実行時間 534 ms
メモリ 24544 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 300 / 300
結果
AC × 3
AC × 13
セット名 テストケース
Sample a01, a02, a03
All a01, a02, a03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13
ケース名 結果 実行時間 メモリ
a01 AC 23 ms 3444 KiB
a02 AC 23 ms 3444 KiB
a03 AC 23 ms 3444 KiB
b04 AC 23 ms 3444 KiB
b05 AC 379 ms 19060 KiB
b06 AC 386 ms 19060 KiB
b07 AC 379 ms 19064 KiB
b08 AC 529 ms 24540 KiB
b09 AC 523 ms 24540 KiB
b10 AC 534 ms 24544 KiB
b11 AC 340 ms 18620 KiB
b12 AC 468 ms 20444 KiB
b13 AC 29 ms 3700 KiB