MedieC++17

Câte minute durează răspândirea?

Cerință

În grilă, 0 este gol, 1 este proaspăt, iar 2 este alterat. În fiecare minut, fiecare celulă alterată transformă simultan vecinii proaspeți de pe laturi. Află când nu mai rămâne nicio celulă proaspătă.

Tip de problemă: Rotting Oranges.

Date de intrare

n m, apoi n linii cu m valori.

Date de ieșire

Numărul minim de minute; 0 dacă nu există celule proaspete inițial; -1 dacă unele nu pot fi atinse.

Restricții

1 ≤ n,m ≤ 100; valori 0, 1 sau 2.

Observații

Selecție Algo25 pentru pregătirea interviurilor. Enunț, exemple și soluții originale.

Reper tematic pentru pregătire: https://www.hackerrank.com/interview/interview-preparation-kit

Exemple

2 EXEMPLE

Exemplul 1

Exemplul 1 pentru „Câte minute durează răspândirea?”. 0 = gol, 1 = proaspăt, 2 = alterat. Toate schimbările unui minut se fac simultan, numai între vecini pe laturi.Exemplul 1, reprezentat vizual. 0 = gol, 1 = proaspăt, 2 = alterat. Toate schimbările unui minut se fac simultan, numai între vecini pe laturi.Mărește schema ↗

Date de intrare

2 3
2 1 1
0 1 1

Date de ieșire

3

Exemplul 2

Date de intrare

1 3
2 0 1

Date de ieșire

-1
UN MIC IMPULS

Ai nevoie de un indiciu?

Descoperă doar cât îți trebuie. Indiciile nu scad punctajul.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Se verifică autentificarea…

Deschide atelierul cu sugestii și teste locale în 4 limbaje →

Un pas, apoi următorul.Înapoi sus ↑