Diferente pentru problema/thread intre reviziile #8 si #12

Diferente intre titluri:

thread
Thread

Diferente intre continut:

Gigel are N thread-uri, numerotate de la $1$ la $N$. Thread-ul $i$ ({$1 ≤ i ≤ N$}) execută operaţia $x += c{~i~}$.
Execuţia operaţiei $x += c ~i~$ este alcătuită din următoarele operaţii atomice:
Execuţia operaţiei $x += c{~i~}$ este alcătuită din următoarele operaţii atomice:
- se citeşte valoarea lui $x$ din memorie,
- se adaugă la aceasta $c ~i~$,
- se adaugă la aceasta $c{~i~}$,
- se scrie rezultatul în memorie.
Iniţial valoarea lui $x$ este $0$. Cele $N$ thread-uri se execută în paralel. Când thread-urile se execută in paralel, operaţiile atomice ale acestora sunt intercalate într-un mod la alegerea sistemului. Se cere să se găseasca câte valori posibile poate lua variabila $x$ la sfârşitul execuţiei tuturor thread-urilor.
Prima linie din fiecare test conţine numărul $N$ de thread-uri.
A doua linie din fiecare test conţine numerele $c ~1~$, ..., $c ~N~$.
A doua linie din fiecare test conţine numerele $c{~1~}$, ..., $c{~N~}$.
h2. Date de ieşire
h2. Restricţii
* $1$ ≤ $T$ ≤ $50$
* $1$ ≤ $T$ ≤ $128$
* $1$ ≤ $N$ ≤ $256$
* $0$ ≤ $c_i$ ≤ $256$
table(example). |_. thread.in |_. thread.out |
| 1
1
2
1 2
| 3
|

Nu exista diferente intre securitate.

Diferente intre topic forum:

 
9902