最短路问题。果然好久不做都忘得差点儿相同了,跑一次Dijkstra算法把全部点的最短距离都跑出来
#include#include #define maxn 1005#define inf 1<<30using namespace std;int t,s,d;int mapp[maxn][maxn];int w[maxn];int visit[maxn];int di[maxn];void solve(){ memset(visit,0,sizeof(visit)); fill(di,di+maxn,inf); di[0]=0; while(t--) { int v=-1; for(int i=0;i >t>>s>>d) { for(int i=0;i >x>>y>>z; mapp[y][x]=mapp[x][y]=min(z,mapp[x][y]); } for(int i=0;i >x; mapp[0][x]=mapp[x][0]=0; } for(int i=0;i>w[i]; solve(); int re=inf; for(int i=0;i