#include #define InFile "homeless.in" #define OutFile "homeless.out" #define MaxStatii 1010 #define MaxTren 1010 #define StatLinie 1010 #define DURATA 620 int graf[MaxStatii+1][MaxStatii+1]; /* graf[i][j]=durata deplasarii intre statia i si j, daca exista tronson de la i la j si 0 altfel */ int mat[DURATA][MaxStatii]; /* mat[i][j]= timpul minim de asteptare necesar pentru a ajunge in statia j la momentul i*/ typedef struct { int N; int plec; int unde; /*unde se afla trenul acesta la momentul plec */ int st[StatLinie]; } Tren; int tt[2*DURATA+100]; Tren v[MaxTren]; int main ( void ) {FILE *in, *out; int N, P, V; int i, st; int S1, S2, durata; int T1, T2; int timp; int grad, *unde; int min=100000000; in=fopen (InFile, "r"); fscanf (in, "%d %d %d %d %d", &N, &P, &V, &T1, &T2); for (i=0; i=T1) if (mat[*unde][1]=0) if (mat[unde[1]][grad]==-1 || mat[*unde][grad]+1