- Pradinių duomenų failas:
- sablonai.in
- Rezultatų failas:
- sablonai.out
- Laiko apribojimas:
- 1 s.
- Atminties apribojimas:
- 16 Mb.
Užduotis
Šablonu laikysime simbolių eilutę, kuri gali būti sudaryta iš lotyniškosios abėcėlės mažųjų ir didžiųjų raidžių, skaitmenų, žvaigždučių (*) bei klaustukų (?) simbolių. Žvaigždutė reikš bet kokią simbolių (simbolis x – tai lotyniškosios abėcėlės mažoji ar didžioji raidė arba skaitmuo) seką (galima ir tuščia seka), klaustukas – bet kurią vieną raidę arba skaitmenį.
Suprantama, kad pagal vieną šabloną galima gauti daugybę įvairių eilučių, pavyzdžiui, šablonui *BRA?A
tinka eilutės 00c001BRABA
, BRACA
, vBRA1A
ir taip toliau, tačiau, pavyzdžiui, netinka eilutės BRaCA
, xBRATKA
.
Du šablonai laikomi ekvivalenčiais, jei bet kuri pirmajam šablonui tinkanti eilutė tinka ir antrajam šablonui, o bet kuri antrajam šablonui tinkanti eilutė tinka ir pirmajam.
Duoti du šablonai. Parašykite programą, kuri patikrintų, ar šie šablonai ekvivalentūs.
Pradiniai duomenys
Pradinių duomenų failą sudaro trys eilutės. Pirmoje eilutėje įrašyti du sveikieji skaičiai: pirmojo bei antrojo šablonų ilgiai \(L_{1}\) ir \(L_{2}\). Kiekviename šablone gali būti nuo 1 iki 500 simbolių: 1 <= \(L_{1}\), \(L_{2}\) <= 500.
Antroje eilutėje įrašytas pirmasis šablonas (\(L_{1}\) simbolių be tarpų seka), trečioje – antrasis šablonas (\(L_{2}\) simbolių be tarpų seka).
Rezultatai
Jūsų programa į rezultatų failą turi įrašyti vieną eilutę: TAIP, jei šablonai ekvivalentūs, ir NE priešingu atveju.
Pavyzdžiai
Pradiniai duomenys | Rezultatai |
---|---|
5 7 bra*a bra***a |
TAIP |