Se dă o matrice de mărime pe care conține litere ale alfabetului englez. Definim un drum dreapta-jos ca fiind un șir de celule ale matricei care începe cu celula , se termină cu celula , iar pentru fiecare celulă din drum (exceptând ultima), succesoarea sa este fie , fie . Spunem că șirul de caractere generat de un drum în matrice este șirul obținut prin concatenarea valorilor celulelor drumului în ordine.
Cerință
Să se găsească 2 drumuri dreapta-jos care nu se intersectează (decât în celulele și ) pentru care coeficientul de similaritate este maxim. Coeficientul de similaritate a 2 drumuri reprezintă numărul de poziții pentru care , , unde și sunt șirurile generate de cele 2 drumuri.
Date de intrare
Prima linie conține valoarea lui . Următoarele linii conțin câte litere mici ale alfabetului englez, reprezentând matricea.
Date de ieșire
Prima linie va conține coeficientul maxim de similaritate între 2 drumuri dreapta-jos care nu se interesectează decât în capete.
Restricții și precizări
- Pentru teste în valoare de de puncte, .
- Pentru teste în valoare de de puncte, .
- Pentru teste în valoare de de puncte, .
Exemplul 1
2drumuri.in
3
abe
cef
zfq
2drumuri.out
4
Explicație
Drumurile sunt:
abefq
:acefq
:
Exemplul 2
2drumuri.in
4
abcd
bcde
aaaa
zdef
2drumuri.out
5