- Time limit: 1.00 s
- Memory limit: 512 MB
Haluat muodostaa merkkijonon, jonka pituus on merkkiä. Merkkijonon merkit on numeroitu , ja aluksi jokainen merkki on ?
.
Käytössäsi on leimasin, jonka pituus on merkkiä. Voit joka siirrolla asettaa leimasimen johonkin merkkijonon kohtaan ja korvata merkkijonon merkit tällä alueella vastaavissa kohdissa olevilla leimasimen merkeillä. Leimasimen täytyy olla kokonaan merkkijonon sisällä joka siirrolla, eikä sen asentoa voi muuttaa.
Tehtäväsi on etsiä siirtosarja, jolla voit tuottaa halutun merkkijonon leimasimen avulla, tai todeta, että tämä ei ole mahdollista.
Syöte
Ensimmäisellä rivillä on merkkijono, jossa on merkkiä: tavoitteena oleva merkkijono.
Toisella rivillä on merkkijono, jossa on merkkiä: leimasin.
Molemmat merkkijonot muodostuvat merkeistä A–Z.
Tuloste
Tulosta ensin kokonaisluku : siirtojen määrä.
Tulosta sitten kokonaislukua, jotka kuvaavat siirrot järjestyksessä. Jokainen luku on välillä ja ilmaisee leimasimen vasemman kohdan.
Voit tulostaa minkä tahansa ratkaisun, jossa on enintään . Jos mitään ratkaisua ei ole olemassa, tulosta vain luku .
Esimerkki 1
Syöte:
AABCACA ABCA
Tuloste:
3 1 4 2
Selitys: Käytät leimasinta näin: ???????
→ ABCA???
→ ABCABCA
→ AABCACA
.
Esimerkki 2
Syöte:
AYBABTU AB
Tuloste:
-1