Fișierul intrare/ieșire amestec.in, amestec.out Sursă ONI 2013 clasa a 8-a
Autor Ciprian Cheșcă Adăugată de avatar tudorcoman Tudor Coman tudorcoman
Timp de execuție pe test 0.5 sec Limită de memorie 4096 KB
Scorul tău N/A Dificultate N/A
open book Poți vedea testele pentru această problemă accesând atașamentele .

Amestec (clasa a 8-a)

Se consideră un amestec de două substanțe, ale căror molecule se notează cu 0, respectiv 1, reprezentat ca o matrice pătratică cu n linii și n coloane.

În vederea separării celor două substanțe, asupra amestecului se aplică succesiv o serie de k forțe magnetice, caracterizate de următoarele trei mărimi:

  • durata aplicării forței, notată cu di (1 ≤ i ≤ k) exprimată în secunde;
  • poziția aplicării forței, notată cu pi {‘N’, ‘S’, ‘E’, ‘V’}, 1 ≤ i ≤ k, ce reprezintă unul dintre cele patru puncte cardinale (Nord, Sud, Est, Vest);
  • tipul moleculelor (0 sau 1) asupra cărora acționează forța, notat cu mi, 1 ≤ i ≤ k.

Deplasarea moleculelor se face după următoarele reguli:

  • moleculele se deplasează numai pe orizontală când forța este aplicată în Est sau Vest sau numai pe verticală când forța este aplicată în Nord sau Sud;
  • moleculele se deplasează către locul în care este amplasată forța și, într-o secundă, o moleculă se deplasează cel mult cu o singură poziție;
  • o moleculă se deplasează numai dacă în fața ei, în direcția de deplasare, există o moleculă de alt tip, cu care face schimb de locuri, altfel rămâne pe aceeași poziție;
  • o forță acționează asupra tuturor moleculelor de tipul precizat.

Cerință

Să se scrie un program care determină matricea amestecului obținut după aplicarea forțelor magnetice.

Spre exemplu, dacă n = 3, matricea moleculelor este cea de mai jos și se aplică k = 2 forțe, caracterizate prin 1N1, 2E0, amestecul va trece prin următoarele etape:

Date de intrare

Fișierul de intrare amestec.in conține pe prima linie două numerele naturale, n și k, separate printr-un spațiu, cu semnificația de mai sus. Pe fiecare din următoarele n linii se găsește câte un șir de n caractere 0 sau 1. Pe fiecare dintre următoarele k linii se găsesc câte 3 valori, după cum urmează: un număr natural di, un caracter pi (‘N’, ‘S’, ‘E’, ‘V’) și un număr natural mi, 1 ≤ i ≤ k, având semnificația de mai sus, neseparate prin spațiu.

Date de ieșire

Fișierul de ieșire amestec.out va conține matricea amestecului final. Pe fiecare din cele n linii ale fișierului de ieșire se va scrie câte un șir de n caractere 0 sau 1, neseparate prin spațiu.

Restricții

  • 2 ≤ n ≤ 100
  • 1 ≤ k ≤ 100
  • 1 ≤ di ≤ 109, 1 ≤ i ≤ k

Exemplu

amestec.in amestec.out
3 2
011
101
110
1N1
2E0
111
110
100

Explicație

Matricea moleculelor are 3 linii și 3 coloane.
Se aplică un număr de k = 2 forțe, prima cu durata de 1 secundă, spre nord, și care atrage moleculele de tip 1, și a doua cu durata de 2 secunde, spre est, ce atrage moleculele de tip 0. După aplicarea celor 2 forțe, moleculele se vor reașeza conform matricei alăturate.

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