Atenție! Aceasta este o versiune veche a paginii., scrisă la 2025-01-01 19:08:11.000.
Revizia anterioară   Revizia următoare  

Fișierul intrare/ieșire pelican.in, pelican.out Sursă OJI 2022 clasa a 8-a
Autor Nistor-Eugen Moț Adăugată de avatar mircea_007 Mircea Rebengiuc mircea_007
Timp de execuție pe test 0.05 sec Limită de memorie 32768 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip fullstea de rating de tip halfstea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

Pelican (clasa a 8-a)

Într-o minunată zi de primăvară, P rățuște au ieșit la plimbare pe lac. Un pelican milităros, care stătea pe mal, a decis să facă instrucție cu nevinovatele rațe. Pentru aceasta, a cartografiat imediat lacul și l-a reprezentat ca o matrice cu N linii (numerotate de la 0 la N − 1 de sus în jos) și N coloane (numerotate de la 0 la N − 1 de la stânga la dreapta). Astfel, poziția oricărei rațe pe lac poate fi identificată prin linia și coloana pe care se află rața. Rațele sunt orientate cu fața spre una dintre direcțiile Nord, Sud, Est, Vest. Pelicanul a codificat direcțiile 1, 2, 3, 4 ca în figură.

Când pelicanul strigă: ,,Comanda la mine!” rațele trebuie să execute simultan cele K comenzi pe care le dă pelicanul. Comenzile pelicanului sunt codificate astfel:

Comanda Efect Exemplu
A nr
Rața avansează cu nr poziții în direcția
spre care este orientată. Dacă avansând
depășește marginea tablei de joc va intra
pe latura opusă.
De exemplu, pe un lac 5 × 5, o rață plasată
în poziția (1, 3) cu orientare 1 (Nord), executând
comanda A 3 se va deplasa astfel:
(1, 3) → (0, 3) → (4, 3) → (3, 3).
R nr
Rața se rotește cu nr · 90° în sens orar,
unde nr ∈ { 1, 2, 3, 4 }.
De exemplu, dacă orientarea inițială a raței este
1 (Nord), comanda R 2 va schimba orientarea spre 3 (Sud).
Z nr
Rața zboară pe linia nr / N și coloana
nr % N, păstrând orientarea. Se garantează
nr / N ∈ { 0, 1, . . . , N−1 }.
De exemplu, pe un lac 5 × 5, după executarea
comenzii Z 7, rața va ajunge pe linia 1 și coloana 2.

Cerințe

Scrieți un program care, cunoscând poziția inițială pe lac a celor P rațe și succesiunea comenzilor pelicanului, determină poziția finală a fiecărei rațe.

Date de intrare

Fișierul de intrare pelican.in conține pe prima linie trei numere naturale N P K, cu semnificația din enunț. Pe următoarele P linii sunt date câte 3 numere naturale i j d (0 ≤ i, j < N și 1 ≤ d ≤ 4) cu semnificația că pe linia i și coloana j se găsește o rață orientată în direcția d. Ultimele K linii conțin cele K comenzi, câte o comandă pe o linie, în formatul specificat în enunț (un caracter din mulțimea ′A′ , ′R′, ′Z′ și un număr natural). Valorile scrise pe aceeași linie sunt separate de câte un spațiu.

Date de ieșire

Fișierul de ieșire pelican.out va conține P linii. Pe linia i va fi scrisă poziția celei de a i-a rațe din fișierul de intrare (linia și coloana separate printr-un singur spațiu) după executarea ı̂n ordine a celor K comenzi.

Restricții

  • 1 ≤ N ≤ 1000
  • 1 ≤ P ≤ 10 000
  • 1 ≤ K ≤ 100 000
  • Mai multe rațe pot ocupa aceeași poziție.
  • Se garantează că datele din fișierul de intrare sunt corecte.

Punctaj Restricții
1 76 Pentru teste valorând 76 de puncte fișierul de intrare nu conține comanda Z.
2 20 Pentru teste valorând 20 de puncte N ≤ 100, P ≤ 100 și K ≤ 1000.
3 36 Pentru teste valorând 36 de puncte N > 100, 1000 ≤ P ≤ 5000 și K ≤ 50000.

Exemplu

pelican.in pelican.out
5 3 4
1 1 2
2 3 1
3 1 4
A 3
R 3
A 1
A 3
2 4
4 4
2 3

Explicație

Lacul are 5 linii și 5 coloane. Pe lac există 3 rațe poziționate ca ı̂n figură.

Pelicanul dă 4 comenzi pe care toate cele 3 rațe le execută ı̂n ordine.
Rațele execută comanda A 3

Rațele execută comanda R 3 (se rotesc cu 270 ◦ ı̂n sens orar)

Rațele execută comanda A 1

Rațele execută comanda A 3

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 5 categorii