#include #include #include #include #include #define DBG(x) cerr << x << endl using namespace std; class Graph{ public: vector >edges; Graph(){ } void setEdge(int id, int cost){ edges.push_back(make_pair(id, cost)); } }; vector g; vector d; map search(){ int count = 0; map s; for(int i=1; i<=g.size(); i++){ s.insert(map::value_type(i, g[i])); } map s_next; for(int c=0; csecond.edges.size(); i++){ int cost = itr->second.edges[i].second; if(cost == d[count]){ int index = itr->second.edges[i].first; s_next.insert(map::value_type(index, g[index])); } } } s = s_next; s_next.clear(); count += 1; } return s; } int main(){ int n,m,k; cin >> n >> m >> k; for(int i=0; i<=m; i++){ g.push_back(Graph()); } for(int i=0; i> a >> b >> c; g[a].setEdge(b, c); g[b].setEdge(a, c); } for(int i=0; i> tmp; d.push_back(tmp); } /* for(int i=0; i result = search(); cout << result.size() << endl; for(auto itr=result.begin(); itr!=result.end(); itr++){ cout << itr->first << " "; } cout << endl; }