Una clase especial de cadenas X33813


Statement
 

pdf   zip

En matemáticas, una subsecuencia en una cadena, es la secuencia de caracteres dentro de la cadena, que respetan el orden, mas no necesariamente deben aparecer de manera contigua. Es una forma de generalización de la subcadena, donde los caracteres deben estar consecutivos. Por ejemplo, la cadena ABCDEF tiene la subsecuencia ABD; observe que se respeta el orden de aparición, pero no todos los caracteres necesariamente están contiguos. POr otro lado, la secuencia DEA no es una subsecuencia de ABCDEF, ya que no respetan el orden. Un problema interesante en cadenas es el conteo de subsecuencias, escriba un programa que lea dos cadenas s1s_1 y s2s_2 e imprima cuantas veces aparece repetida s2s_2 como subsecuencia de s1s_1.

Entrada

Dos cadenas s1s_1 y s2s_2.

Salida

EL número de veces que s2s_2 aparece repetida como subsecuencia de s1s_1.

Observación

  • Asuma que el tamaño máximo de s1s_1 es de 100100 caracteres;

  • Una cadena s2s_2 es subsecuencia de otra s1s_1, si todos los caracteres de s2s_2 aparecen en el mismo orden en s1s_1, sin importar si aparecen de manera consecutiva o no. Por ejemplo la cadena sasa is subsecuencia de espasaespasa y aparece 2 veces, pero la cadena sese no es subsecuencia de espasaespasa;

  • No olvide imprimir un salto de línea al final.

Public test cases
  • Input

    unmurcielago u
    

    Output

    2
    
  • Input

    sastreregastte ast
    

    Output

    7
    
  • Input

    ssss ss
    

    Output

    6
    
  • Input

    abcdefg adg
    

    Output

    1
    
  • Input

    aabbccddeeff abcdef
    

    Output

    64
    
  • Information
    Author
    Language
    Spanish
    Official solutions
    Python
    User solutions
    C++