Festés

Az egyik vállalatnál automatikusan festik a szállítószalagon érkező dobozokat. Minden dobozt a négy különböző színből a megfelelőre kell festeni. A festőgépbe csak két különböző színű tartályt lehet felszerelni egyidejűleg. Ha nem az aktuális dobozhoz tartozó színű tartály van a gépben, a tartályt a kívánt színűre kell cserélni. A színcsere művelete időigényes, ezért minimalizálni kell a cserék számát. A színcsere elvégzése az egyik felcsatolt szín leválasztása, majd a kívánt szín felkapcsolása. A tartályok fel és lekapcsolása eltérő időbe telik.

Feladat:

Írjon programot, amely meghatározza a cserékhez szükséges minimális teljes időt a megadott inputhoz.

Bemenet:

A négy használt színt az A, B, C, D betűk jelölik.

A bemenet első sorában négy 100-nál nem nagyobb egész található, amely megfelelő színű tartályok felkapcsolásához szükséges időt jelzi. A második sorban négy 100-nál nem nagyobb egész található, amely megfelelő színű tartályok lekapcsolásához szükséges időt mutatja meg. A színek sorrendje mindkét esetben A, B, C, D. A harmadik sor az N (1<=N<=10000) egész számot tartalmazza, amely a befestendő dobozok számát jelenti. Az utolsó sorban N karakter van, melyek mindegyike az A, B, C, D karakterek egyike. Munkakezdéskor az A és a B tartályok vannak felcsatolva.

Kimenet:

A kimeneti állomány első sorába egyetlen egész szám kerüljön, amely a cserékhez szükséges összidőt adja meg.

Példa:

paint.in

paint.out

1 2 7 1
4 1 3 2
12
ACDCBBACCDBC

28

 

 

 

 

 

(ACM SZTE csapatverseny 1998)