Lang:G++
Edit12345678910111213141516171819202122232425262728293031/** Problem:* Author: SHJWUDP* Created Time: 2015/3/26 星期四 13:06:10* File Name: 233.cpp* State:* Memo:*/#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <queue>using namespace std;const int MaxA=1e4+7;const int MaxB=1e5+7;struct Edge {int v, nt;int w;} edges[MaxB<<1];int head[MaxA], edgeNum;int N, M, K, T;bool done[MaxA];void init() {memset(head, -1, sizeof(head[0])*(N+3));edgeNum=0;