loj#P2388. 「USACO 2017.12 Platinum」Standing Out from the Herd

「USACO 2017.12 Platinum」Standing Out from the Herd

题目描述

题目译自 USACO 2017 December Contest, Platinum Problem 1. Standing Out from the Herd

就像人类一样,奶牛通常喜欢与众不同。因为农夫 John 的奶牛都是同一个品种的,看起来也很相似,所以它们想要确定它们名字的不同之处。

每头奶牛的名字都有一些数量的子串。例如,amy\texttt{amy} 的子串有 {a, m, y, am, my, amy}\texttt{\{a, m, y, am, my, amy\}}tommy\texttt{tommy} 的子串有 $\texttt{\{t, o, m, y, to, om, mm, my, tom, omm, mmy, tomm, ommy, tommy\}}$。

一头奶牛的名字有一个「不同因子」,这个值表示这个名字独有的子串数量。例如,如果牛群中只有 amy\texttt{amy} 自己一头牛,那么她的不同因子就是 66。如果牛群中只有 tommy\texttt{tommy} 自己一头牛,那么他的不同因子就是 1414。但如果他们同在一个牛群的话,amy\texttt{amy} 的不同因子就会变成 33tommy\texttt{tommy} 的不同因子就会变成 1111

给定牛群的信息,请确定每头牛的不同因子。

输入格式

第一行包含一个整数 NN

接下来 NN 行,每行包含牛群中一头牛的名字。每个名字只包含小写英文字母 az

输出格式

输出 NN 行,每行一个整数,表示每头牛的不同因子。

3
amy
tommy
bessie

3
11
19

数据范围及提示

1N1051\le N\le 10^5,保证所有奶牛的名字长度之和不超过 10510^5