Motto: Nu există prostie mai mare decât aceea de a te crede inteligent. (Amelie Nothomb)

C. Programare servicii

Sunt 6 seturi de joburi (servicii). Fiecare set este gestionat pe un server separat şi fiecare job este implementat de un executabil care necesită 1, 2, 3,...,10 minute de rulare.

Toate seturile de joburi trebuie să se încheie în maxim 55 minute.

Programaţi rularea seturilor de executabile care implementează joburile ştiind că:

  1. Toate cele 6 servere pornesc simultan la minutul 0,
  2. La fiecare minut de la 1 la 54 se termină rularea unui executabil,
  3. Toate cele 6 servere încheie rulările la minutul 55.

Pentru o problema mai simplă, cu 4 seturi de căte 6 joburi care să se încheie la fiecare minut de la 1 la 20, o soluţie ar fi:

2 1 5 4 6 3
1 3 6 4 5 2
5 2 4 6 3 1
6 3 4 2 1 5

 

Sursă: Ponder This

Vezi comentarii
Logheaza-te in site pentru a trimite solutii si comentarii
aatanasiu

There are six sets of jobs. Each set is performed on a different server and each set contains jobs that take 1,2,3,...,10 minutes to run.

Obviously, all six sets would end up in 55 minutes.

Schedule all the sets such that if all six servers start together, on minute 0, a job would end on every minute from 1 to 54, and all six servers would end on minute 55 together.

Please supply the solution as six lines of ten numbers.

A solution for a smaller problem of four sets of six jobs ending every minute from 1 to 20 is:

2 1 5 4 6 3
1 3 6 4 5 2
5 2 4 6 3 1
6 3 4 2 1 5