提出 #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 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| 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 |