Cum poti sa folosesti de mai multe ori un vector, adica dupa fiecare citire sa ai size actuale, totul sa fie ok. Eu am incercat ceva de genul(vezi mai jos), dar iau Killed by Signal 11.
vector< vector<int> > L, Cost, Flow;
for ( int k = 1; k <= T; k++ )
{
scanf("%d%d%d", &N, &M, &W);
L.resize(N+1); Cost.resize(N+1); Flow.resize(N+1);
for ( int i = 1; i <= M; i++ )
{
scanf("%d%d", &x, &y );
scanf("%d", &c);
scanf("%d", &t);
if ( x > N || y > N ) continue;
L[ x ].push_back(y); L[y].push_back(x);
Cost[ x ].push_back(t); Cost[y].push_back(t);
Flow[ x ].push_back(c); Flow[y].push_back(c);
F[ i ] = c;
}
//...//
for ( int i = 0; i < L.size(); i++ )
L[ i ].clear(), Cost[ i ].clear(), Flow[ i ].clear();
L.clear(), Cost.clear(), Flow.clear();
}