Fişierul intrare/ieşire:dvorak.in, dvorak.outSursăOlimpiada pe scoala clasa a 10-a, 2018
AutorAlina Boca, Antonia BocaAdăugată devmanzVictor Manz vmanz
Timp execuţie pe test0.1 secLimită de memorie4096 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise

Dvorak

R. a descoperit de curând tastatura DVORAK si s-a decis că poate scrie mult mai rapid si mai corect cod folosind această tastură decât folosind tastatura QWERTY. Plictisindu-se, R. a creat, pentru a onora tastatura lui preferată, “transformarea dvorak”, care se realizează prin înlocuirea fiecărei litere dintr-un şir de caractere cu corespondenţa acesteia dintr-o permutare dată a alfabetului englez. De exemplu, cuvântul “informatica” poate să devină, intr-o transformare dvorak, “cburpmaycja”.

H., profitor din fire, a decis să intre pe calculatorul lui R. si să ii fure sursele valoroase de la problemele “rupere” pe care le-a rezolvat.

Dar R. si-a securizat calculatorul cu o parolă (constând într-o succesiune de litere mici ale alfabetului englez). Din când în când, R. îşi modifică o parte din parolă efectuând următoarea operaţie: alege două poziţii în parolă Si (capăt stânga) si Di (capăt dreapta) apoi aplică transformarea dvorak asupra secvenţei formată din caracterele situate in parolă pe poziţii din intervalul [Si, Di]. Această operaţie este de tipul 1 şi este codificată prin: 1 Si Di 

Acum H. are nevoie de ajutorul vostru ca să afle parola (si să furaţi împreună toate sursele ca sa fiţi primii la statistici pe Varena). Din când în când, el vă va da câte un sir de caractere nevid (SIR) şi vă va întreba dacă acest şir se regăseşte ca subsecvenţă în parola lui R. Această operaţie este de tipul 2 şi este codificată prin: 2 SIR

Cunoscându-se permutarea dată, parola lui R. precum şi o succesiune de Q operaţii de tipul 1 sau 2, găsiţi răspunsurile la întrebările toate lui H.

Date de intrare

Pe prima linie a fişierului de intrare dvorak.in se va afla numărul natural Q reprezentând numărul de operatii din succesiunea dată.
Pe cea de-a doua linie se va afla permutarea dată pentru transformarea dvorak.
Pe cea de-a treia linie se va afla un sir de caractere litere mici, reprezentand parola initiala a lui R.
Pe fiecare dintre următoarele Q linii se află câte o operaţie de tip 1 sau 2, codificate ca în enunţ.

Date de ieşire

Pe fiecare linie a fişierului dvorak.out se va afla răspunsul pentru fiecare dintre intrebările lui H., în ordinea în care apar în fişierul de intrare: răspundeti cu “Da” dacă şirul se regăseşte ca subsecvenţă în parola şi “Nu” altfel.
h2. Restricţii

  • 1 ≤ Q ≤ 500
  • Fiecare al i-lea element al permutării date reprezintă litera în care se transformă cel de-al i-lea caracter din alfabetul englez într-o transformare dvorak
  • Se garantează că fiecare literă din permutarea dată apare o singură dată, iar permutarea are fix 26 de caractere
  • Parola este un şir de cel mult 500 de litere mici ale alfabetului englez.
  • Poziţiile caracterelor din parolă sunt numerotate incepând de la 1
  • 1 ≤ Si ≤ Di ≤ lungimea parolei
  • Intervalele [Si, Di] corespunzătoare operaţiei 1 se pot suprapune
  • şirul SIR pentru operaţia 2 are cel mult 500 de caractere

Exemplu

dvorak.indvorak.outExplicaţie
6
ifynmlbkpduogahqzsjxcervwt
olimpiadadeinformatica
1 1 6
2 info
2 olimpiada
1 8 15
1 9 14
2 olimpiadadeinformaticaecool
Da
Nu
Nu
După prima operaţie, parola se transformă în “hopgqpadadeinformatica”
La a doua operaţie se răspunde cu “Da”.
La a treia operaţie se răspunde cu “Nu”.
Dupa a patra operaţie, parola se transformă în "hopgqpaninmpalhrmatica".
Dupa a cincea operatie, parola se transformă în “hopgqpanpagqiohrmatica”.
La a şasea operaţie se răspunde cu “Nu”.
Trebuie sa te autentifici pentru a trimite solutii. Click aici