- Time limit: 1.00 s
- Memory limit: 512 MB
?
.Käytössäsi on leimasin, jonka pituus on $m$ 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 $n$ merkkiä: tavoitteena oleva merkkijono.
Toisella rivillä on merkkijono, jossa on $m$ merkkiä: leimasin.
Molemmat merkkijonot muodostuvat merkeistä A–Z.
Tuloste
Tulosta ensin kokonaisluku $k$: siirtojen määrä.
Tulosta sitten $k$ kokonaislukua, jotka kuvaavat siirrot järjestyksessä. Jokainen luku on välillä $1 \dots n-m+1$ ja ilmaisee leimasimen vasemman kohdan.
Voit tulostaa minkä tahansa ratkaisun, jossa $k$ on enintään $10n$. Jos mitään ratkaisua ei ole olemassa, tulosta vain luku $-1$.
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
Osatehtävä 1 (29 pistettä)
- $1 \le m \le n \le 10$
- $1 \le m \le n \le 100$
- $1 \le m \le n \le 1000$