atcoder#ABC261C. [ABC261C] NewFolder(1)

[ABC261C] NewFolder(1)

题目描述

2 2 つの文字列 A,B A,B に対して、A A の末尾に B B を連結した文字列を A+B A+B と表します。

N N 個の文字列 S1,,SN S_1,\ldots,S_N が与えられます。i=1,,N i=1,\ldots,N の順に、次の指示に従って加工して出力してください。

  • S1,,Si1 S_1,\ldots,S_{i-1} の中に Si S_i と同じ文字列が存在しないならば、Si S_i を出力する。
  • S1,,Si1 S_1,\ldots,S_{i-1} の中に Si S_i と同じ文字列が X X (X > 0) (X\ >\ 0) 存在するならば、X X を文字列として扱って Si+ S_i+ ( +X+ +X+ ) を出力する。

输入格式

入力は以下の形式で標準入力から与えられる。

N N S1 S_1 S2 S_2 \vdots SN S_N

输出格式

問題文中の指示にしたがって、N N 行出力せよ。

题目大意

对于两个字符串 A 和 B ,A + B 表示将 A 与 B 的字符顺次连接。
现在给予 N 个字符串 , S1SN S_{1}\sim S_{N} 。对于 SiS_{i} 修改并输出如下, ii 属于 1N1\sim N

  • 如果在 S1Si1S_{1}\sim S_{i-1} 中没有一个与 SiS_{i} 相同 ,输出 SiS_{i}
  • 如果在 S1Si1S_{1}\sim S_{i-1} 中有 X(X>0)X(X>0) 个字符串与 SiS_{i} 相同,输出 SiS_{i} + (( + XX + )) ,将 XX 视为字符串。
5
newfile
newfile
newfolder
newfile
newfolder
newfile
newfile(1)
newfolder
newfile(2)
newfolder(1)
11
a
a
a
a
a
a
a
a
a
a
a
a
a(1)
a(2)
a(3)
a(4)
a(5)
a(6)
a(7)
a(8)
a(9)
a(10)

提示

制約

  • 1  N  2× 105 1\ \leq\ N\ \leq\ 2\times\ 10^5
  • Si S_i は英小文字のみからなる長さ 1 1 以上 10 10 以下の文字列