Pintant cares P34492


Statement
 

pdf   zip

(Us recomanem resoldre aquest problema en C++.)

Al Litus i a l’Esomer els agrada pintar la cara als rivals en els concursos de programació, i tant és així que han decidit fer-ho literalment. En Litus ha triat una cadena d’nn colors s=s1,s2,,sns = s_1, s_2, \ldots, s_n, i ara l’Esomer haurà de pintar nn cares amb els colors codificats dins d’ss.

Cada pintada consisteix a escollir un color cc i dos índexs 1edn1 \le e \le d \le n, i pintar de color cc totes les cares de l’interval [e,d][e, d]. Les cares es poden repintar diverses vegades, i el color nou sempre sobreescriu l’anterior.

Quin és el mínim nombre de pintades que ha de fer l’Esomer perquè al final les nn cares acabin amb els colors objectiu?

Entrada

L’entrada consisteix en diversos casos, cadascun amb nn i ss. Podeu suposar 1n2001 \le n \le 200, que els caràcters dintre d’ss són lletres i dígits, i que no hi ha dos caràcters consecutius iguals.

Sortida

Per a cada cas, escriviu el cost mínim de pintar totes les cares.

Puntuació

  • Cas A:

    Casos on 1n1001 \le n \le 100 i cada paraula conté quatre símbols diferents com a màxim.

  • Cas B:

    Casos de tot tipus.

Public test cases
  • Input

    1 z
    3 090
    9 ZqZq4qZq4
    7 abcacba
    9 acabcacba
    

    Output

    1
    2
    6
    4
    5
    
  • Information
    Author
    Jan Matas
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++