Diferente pentru problema/gol3d intre reviziile #1 si #19

Diferente intre titluri:

gol3d
Game of life 3D

Diferente intre continut:

== include(page="template/taskheader" task_id="gol3d") ==
Poveste si cerinta...
Gigel a inventat un nou joc: game of life 3d. Sa vedem care sunt regulile: jocul se desfasoară in interiorul unui cub impartit in celule cubice, de volum unitar, de dimensiune $NxNxN$ (in total $N^3^$ celule). In fiecare celula exista un organism viu sau mort. Jocul consta din urmarirea evolutiei organismelor pentru mai multe generatii. In fiecare generatie unele organisme evolueaza dupa regulile urmatoare:
 
* vecinii unei celule aflate la coordonatele $(i,j,k) (0 ≤ i, j, k ≤ n-1)$ sunt acele celule $(i',j',k')$ diferite de $(i,j,k)$, aflate la o distanta mai mica sau egala cu $d = [(i + j + k) / 5] + 1$ de celula $(i,j,k)$ (se considera parte intreaga inferioara la impartirea la 5)
 
* distanta dintre 2 celule $(a{~1~},b{~1~},c{~1~})$ si $(a{~2~},b{~2~},c{~2~})$ se defineste ca fiind $max{|a{~1~}-a{~2~}|, |b{~1~}-b{~2~}|, |c{~1~}-c{~2~}|}$
 
* daca o celula are strict mai putin de $25%$ vecini vii, ea va muri de singuratate in generatia urmatoare (in caz ca era vie)
 
* daca o celula are strict mai mult de $75%$ vecini vii, ea va muri sufocata in generatia urmatoare (in caz ca era vie)
 
* daca o celula are intre $45%$ si $55%$ (interval deschis) vecini vii, ea isi va schimba starea (va invia daca era moarta / va muri daca era vie)
 
* daca procentul de vecini vii nu se incadreaza in regulile de mai sus, atunci celula va fi vie in generatia urmatoare indiferent de starea ei in generatia anterioara
 
* toate nasterile si mortile dintr-o generatie au loc simultan (altfel spus, modificarea unei celule intr-o generatie nu poate afecta evolutia, in aceeasi generatie, a niciunei alte celule)
 
Stiind numarul de generatii al jocului, Gigel va roaga sa calculati pentru fiecare generatie numarul de organisme vii.
h2. Date de intrare
Fisierul de intrare $gol3d.in$ ...
Fisierul de intrare $gol3d.in$ va contine pe prima linie doua numere naturale: $N$ si $G$ reprezentand dimensiunea cubului si numarul de generatii al jocului (incluzand-o si pe prima). Apoi, pentru fiecare $i$ de la $0$ la $N-1$ se dau cate $N$ linii cu cate $N$ elemente fiecare - elementul $(j,k)$ din matrice va reprezenta starea organismului din celula $(i,j,k)$ in prima generatie. Dupa fiecare matrice, mai putin ultima, va fi o linie goala. Se va folosi urmatoarea codificare: $0$ - organism mort, $1$ - organism viu.
h2. Date de iesire
h2. Date de ieşire
In fisierul de iesire $gol3d.out$ ...
In fisierul de iesire $gol3d.out$ va contine pe o singura linie $G$ numere reprezentand numarul de organisme vii dupa fiecare generatie.
h2. Restrictii
* $... ≤ ... ≤ ...$
* $2 ≤ N ≤ 64$
* $1 ≤ G ≤ 100$
h2. Exemplu
table(example). |_. gol3d.in |_. gol3d.out |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
|
| 2 2
0 1
0 0
 
0 0
0 1
| 2 6 |
h3. Explicatie
...
Prima generatie este chiar cea initiala unde avem numai $2$ organisme vii. Urmatoarea generatie va fi:
 
$1 0$
$1 1$
 
$1 1$
$1 0$
 
Toate celulele sunt vecine una cu alta (deoarece $d$-ul calculat dupa formula din enunt da $1$ intotdeauna). Organismele din celulele $(1,1,1)$ si $(0,0,1)$ au cate un vecin viu din $7$ (deci mai putin de $25%$) si mor de singuratate. Celelalte celule au $2$ vecini vii din $7$, deci ~28% si vor fi vii conform penultimei reguli a jocului.
== include(page="template/taskfooter" task_id="gol3d") ==

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
3571