#include #include #include #include #include #include #include using namespace std; double dias(const vector< vector >& mmap, int s, int d) { vector rgf(mmap.size(), numeric_limits::max()); vector visited(mmap.size(), false); priority_queue< pair > q; q.push(make_pair(0.0, s)); while (!q.empty()) { int u=q.top().second; double f=-q.top().first; if (u==d) break; q.pop(); visited[u]=true; for (int v=0; v=0 && visited[v]==false && f+mmap[u][v]>n>>m>>cs; vector< vector > mmap(n, vector(n, -1)); for (int i=0; i>s>>d>>dist; mmap[s-1][d-1]=dist; } for (int scenerio=1; scenerio<=cs; ++scenerio) { int d; ifile>>d; int k; ifile>>k; double ans=-1; for (int j=0; j>s; const double dist = dias(mmap, s-1, d-1); //cout<