Diferente pentru problema/joc14 intre reviziile #13 si #1

Diferente intre titluri:

Joc14
joc14

Diferente intre continut:

== include(page="template/taskheader" task_id="joc14") ==
Jocul de simetrie al lui Stanislaw Ulam se joacă pe un caroiaj cu $50 × 50$ de pătrăţele. Iniţial se aşează o literă sau două litere $'o'$ mici pe una, respectiv pe două dintre pătrăţele. Apoi, la fiecare pas al jocului:
 
* Pe fiecare pătrăţel vecin cu un _singur_ pătrăţel pe care se află o literă mică $'o'$ sau un caracter $'*'$ şi care este gol, se aşează o literă mică $'o'$.
* Toate literele $'o'$ mici de la pasul anterior se transformă în caractere $'*'$.
* Caracterele $'*'$ existente anterior acestui pas dispar.
 
Două pătrăţele sunt vecine dacă au o singură latură în comun.
 
h2. Cerinţă
 
Scrieţi un program care simulează acest joc pe un caroiaj dat! Jocul se termină după un pas în care s-a aşezat cel puţin o literă pe prima sau pe ultima linie, respectiv pe prima sau pe ultima coloană a caroiajului.
Poveste şi cerinţă...
h2. Date de intrare
Pe prima linie a fişierului de intrare $joc14.in$ se află un număr natural $n$, reprezentând dimensiunea caroiajului. Pe următoarea linie se află valoarea $1$ sau $2$, reprezentând faptul că jocul începe cu o literă $'o'$ sau cu două. Dacă această valoare este $1$, pe următoarea linie sunt scrise două numere naturale, despărţite printr-un spaţiu, reprezentând indicele de linie şi cel de coloană a poziţiei pe care se află litera. Dacă această valoare este $2$, pe următoarea linie sunt scrise patru numere naturale, despărţite prin câte un spaţiu, reprezentând indicele de linie şi cel de coloană ale poziţiilor pe care se află cele două litere.
Fişierul de intrare $joc14.in$ ...
h2. Date de ieşire
În fişierul de ieşire $joc14.out$ veţi „desena” caroiajul după efectuarea fiecărui pas, până se termină jocul. În fişier veţi afişa un tablou bidimensional de caractere, corespunzător fiecărui pas, în care pe poziţiile corespunzătoare pătrăţelelor goale se vor scrie caractere $'.'$, iar în rest se vor scrie caractere $'o'$ sau $'*'$. Între două caroiaje diferite se va lăsa o linie vidă. Dacă prima literă $'o'$ sau cel puţin una din primele două este poziţionată pe chenarul caroiajului, nu se efectuează niciun pas şi în fişier se va afişa caroiajul iniţial.
În fişierul de ieşire $joc14.out$ ...
h2. Restricţii
* $5 ≤ n ≤ 50$
* $... ≤ ... ≤ ...$
h2. Exemplu
table(example). |_. joc14.in |_. joc14.out |
| 7
1
4 4
| .......
.......
.......
...o...
.......
.......
.......
 
.......
.......
...o...
..o*o..
...o...
.......
.......
 
.......
...o...
...*...
.o*.*o.
...*...
...o...
.......
 
...o...
..o*o..
.o...o.
o*...*o
.o...o.
..o*o..
...o...
|
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
|
 
h3. Explicaţie
 
...
== include(page="template/taskfooter" task_id="joc14") ==

Nu exista diferente intre securitate.

Diferente intre topic forum:

4724