Algorytm wyznaczania harmonogramu dla problemu gniazdowego

Format pliku z danymi : Pierwsza linia zawiera liczbę całkowitą n oznaczającą liczbę operacji wykonywanych w systemie.
Druga linia zawiera n elementów tablicy następników technologicznych T (T[i] - następnik technologiczny operacji i, T[i]=0, gdy operacja i nie ma następnika technologicznego). Trzecia linia zawiera n elementów tablicy następników maszynowych M (M[i] - następnik maszynowy operacji i, M[i]=0, gdy operacja i nie ma następnika maszynowego).
Czwarta linia zawiera n elementów tablicy czasów wykonania operacji P (P[i] - czas wykonania operacji i)
Dodatkowo
W piątej linii znajduje się liczba całkowita m oznaczającą liczbę maszyn w systemie. W kolejnej linii znajdują się permutacje określające kolejność wykonywania operacji na maszynach. Poszczególne permutacje oddzielone są liczbą 0.
Format plików z wynikami : W n kolejnych liniach znajdują się dwie liczby S[i] i C[i]: pierwsza oznacza moment rozpoczęcia wykonywania operacji i, natomiast druga moment jej zakończenia. W linii ostatniej (n+1) znajduje się jedna liczba - Cmax (czas realizacji wszystkich zadań).

Przykład

Plik z danymi          Plik z wynikami
9 0 3
2 3 0 5 6 0 8 9 0 4 6
5 8 6 2 9 0 3 0 0 6 13
3 2 7 4 1 2 5 9 1 0 4
3 4 5
7 3 6 0 4 2 8 0 1 5 9 0 13 15
0 5
6 15
15 16
16

Pliki

Dane: 1 2 3 4 5 6 7 8 9         Wyniki: 1 2 3 4 5 6 7 8 9         
  
Š KAMiSS