Pagini recente » Monitorul de evaluare | Borderou de evaluare (job #1529733) | Cod sursa (job #2189238) | Borderou de evaluare (job #2717572) | Cod sursa (job #3335898)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream f("apm.in");
ofstream g("apm.out");
int E, V, v[100005], cnt;
vector<pair<pair<int, int>, int>> edges;
bool cmp(pair<pair<int, int>, int> a, pair<pair<int, int>, int> b){
return a.second < b.second;
}
int main(){
f >> V >> E;
for(int i = 1; i <= E; i++){
int x, y, c;
f >> x >> y >> c;
edges.push_back({{x, y}, c});
}
sort(edges.begin(), edges.end(), cmp);
for(int i = 0; i < edges.size() && cnt < V - 1; i++){
pair<int, int> u = edges[i].first;
if(v[u.first] * v[u.second] == 0){
cnt++;
g << u.first << ' ' << u.second << '\n';
}
}
}