sub

Time limit: 0.4s Memory limit: 256MB Input: sub.in Output: sub.out

Fie AA şi BB două mulţimi de şiruri formate doar din litere mici ale alfabetului englez (de la a la z). Fie NaNa numărul şirurilor din mulţimea AA, iar NbNb numărul şirurilor din mulţimea BB.
Se spune că s1 s2sks_1 \ s_2 \dots s_k este o subsecvenţă a unui şir a1 a2ana_1 \ a_2 \dots a_n dacă există un număr natural i(1ink)i (1 \leq i \leq n-k) astfel încât s1=ais_1 = a_i, s2=ai+1,,sk=ai+k1s_2= a_{i+1}, \dots, s_k = a_{i+k-1}.

Cerinţă

Scrieţi un program care să determine numărul şirurilor care sunt subsecvenţe ale tuturor şirurilor din AA, dar nu sunt subsecvenţe ale niciunui şir din BB.

Date de intrare

Fişierul de intrare sub.in conţine pe prima linie un număr natural NaNa reprezentând numărul de şiruri din mulţimea AA. Următoarele NaNa linii conţin cele NaNa şiruri ale mulţimii AA, fiecare şir pe câte o linie. Linia Na+2Na+2 a fişierului conţine un număr natural NbNb reprezentând numărul de şiruri din mulţimea BB. Următoarele NbNb linii conţin cele NbNb şiruri ale mulţimii BB, fiecare şir pe câte o linie.

Date de ieșire

Fişierul de ieşire sub.out va conţine o singură linie pe care se va scrie o valoare naturală reprezentând numărul şirurilor care sunt subsecvenţe ale tuturor şirurilor din AA, dar nu sunt subsecvenţe ale niciunui şir din BB.

Restricții și precizări

  • 1Na1001 \leq Na \leq 100
  • 1Nb1001 \leq Nb \leq 100
  • Lungimile şirurilor din mulţimile AA şi BB sunt numere cuprinse între 11 şi 300300.

Exemplu

sub.in

3
abcaf
bcaf
dbdafabcaf
3
bacbc
fbca
ca

sub.out

3

Explicație

Şirurile: a, b, c, f, bc, ca, af, bca, bcaf, caf sunt subsecvenţe ale tuturor şirurilor din A. Dintre acestea şirurile: a, b, c, f, ca, af, bca sunt subsecvenţe ale cel puţin unui şir din BB.
Rămân 33 şiruri care sunt subsecvenţe ale tuturor şirurilor din AA, dar nu sunt subsecvenţe ale niciunui şir din BB: af, caf, bcaf.

Log in or sign up to be able to send submissions!