Intercalant paraules P34319


Statement
 

pdf   zip

Donades dues paraules ss i tt, de quantes maneres es poden intercalar tots els seus caràcters respectant l’ordre relatiu dins de cada paraula, i de manera que al resultat final no hi hagi dos caràcters consecutius iguals?

Per exemple, s=s=a” i t=t=bc” es poden intercalar de tres maneres: “abc”, “bac” i “bca”. Com un altre exemple, s=s=ab” i t=t=ab” només poden produir “abab”, però de dues maneres diferents (posant abans ss, o posant abans tt), així que aquí el resultat és 2.

Entrada

L’entrada consisteix en diversos casos, cadascun amb ss i tt. Podeu suposar que les longituds d’ambdues paraules estan entre 1 i 500. També podeu suposar que les paraules només estan formades per lletres minúscules, encara que la solució esperada, que té cost Θ(|s||t|)\Theta(\vert s \vert \cdot \vert t \vert), no fa servir aquest fet.

Sortida

Per a cada cas, escriviu el nombre d’intercalacions possibles. Com que el resultat pot ser molt gran, feu els càlculs mòdul 108+710^8 + 7.

Public test cases
  • Input

    a bc
    ab ab
    abc defg
    aaaa bbb
    aaaa bbbb
    aaa b
    qwertyuiopzxcvbnm asdfghjklzxcvbnm
    

    Output

    3
    2
    35
    1
    2
    0
    47646019
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++