#4795. Reversible

0

Reversible

Reversible

题目描述

有 NN 根棒子,棒子上分别卡着若干个球。每个球上都写着一个小写英文字母。 对于每个 i=1,2,…,Ni = 1, 2, \ldots, N,第 ii 根棒子上球上写的字母用字符串 SiS_i 表示。 具体来说,第 ii 根棒子上卡着的球的数量就是字符串 SiS_i 的长度 ∣Si∣|S_i|,并且 SiS_i 是从棒子的一端开始的球上字母的序列。 当从某一端开始的球上字母序列相等时,两根棒子被认为是相同的。 更形式地,对于 11 到 NN 之间的整数 ii 和 jj,当且仅当 SiS_i 等于 SjS_j 或其反转时,第 ii 根和第 jj 根棒子被认为是相同的。 输出 NN 根棒子中不同棒子的数量。

输入格式

输入由标准输入提供,格式如下: NN S1S_1 S2S_2 ⋮\vdots SNS_N

输出格式

输出答案。

6
a
abc
de
cba
de
abc
3

提示

NN 是一个整数。 2≤N≤2×1052 \leq N \leq 2 \times 10^5 SiS_i 是由小写英文字母组成的字符串。 ∣Si∣≥1|S_i| \geq 1 ∑i=1N∣Si∣≤2×105\sum_{i = 1}^N |S_i| \leq 2 \times 10^5S2S_2 = abcabc 等于 S4S_4 = cbacba 的反转,因此第二根和第四根棒子被认为是相同的。 S2S_2 = abcabc 等于 S6S_6 = abcabc,因此第二根和第六根棒子被认为是相同的。 S3S_3 = dede 等于 S5S_5 = dede,因此第三根和第五根棒子被认为是相同的。

因此,在六根棒子中有三种不同的棒子:第一根、第二根(与第四根和第六根相同)和第三根(与第五根相同)。

标签: AtCoder|abc310C

来源

AtCoder|abc310C