Fie n
un număr natural și M={S
1
,S
2
,…,S
n
}
o mulțime de șiruri de caractere nevide. Fie S
k
un șir de caractere din M
. Atunci, orice caracter al lui S
k
aparține mulțimii {'a','b'}
. Notăm prin |S
k
|
numărul caracterelor șirului S
k
sau, echivalent, lungimea sa. O subsecvență S
k
[i:j]
a lui S
k
este formată din caracterele situate pe pozițiile consecutive i, i+1, .., j
. Astfel, dacă S
k
= 'abbbaababa'
, atunci S
k
[3:6] = 'bbaa'
sau subsecvența evidențiată: 'ab
bbaa
baba'
.
Cerința
Fiind dată o mulțime M
, se cere să se determine lungimea maximă a unei subsecvențe care se găsește în toate șirurile din M
.
Date de intrare
Fișierul de intrare subsecvente.in
conține pe prima linie un număr natural n
egal cu cardinalul mulțimii M
. Pe fiecare din următoarele n
linii se găsește câte un șir din mulțimea M
.
Date de ieșire
Fișierul de ieșire subsecvente.out
va conține pe prima linie un singur număr natural egal cu lungimea subsecvenței găsite.
Restricții și precizări
1 < n < 5
- Dacă
|S| = |S
1
| + |S
2
| + … + |S
n
|
, atunci|S| < 50 001
- Se garantează că va exista întotdeauna soluție
- Se garantează că rezultatul nu va depăși
60
- Pentru
30%
din teste:|S| < 101
- Pentru
55%
din teste:|S| < 3 501
- Pentru
80%
din teste:|S| < 10 001
Exemplu:
subsecvente.in
4 abbabaaaaabb aaaababab bbbbaaaab aaaaaaabaaab
subsecvente.out
5
Explicație
Lungimea unei subsecvenţe comune de lungime maximă este 5
.
În exemplu subsecvența comună de lungime 5
este aaaab
:
abbaba
aaaab
b
, aaaab
abab
, bbbb
aaaab
, aaa
aaaab
aaab
.