#include "validator.h" #include void run() { int n = Int(2, 100000); Space(); int m = Int(1, 200000); Space(); int k = Int(0, n); Endl(); vector W(n); for(int c1 = 0; c1 < n; c1++){ W[c1] = Int(1, 10000); if(c1 == n-1){ Endl(); } else{ Space(); } } vector > graph(n, vector()); set > edges; for(int c1 = 0; c1 < m; c1++){ int u,v; u = Int(1, n); Space(); v = Int(1, n); Endl(); u--; v--; graph[u].push_back(v); graph[v].push_back(u); assert(u != v); assert(edges.find({u, v}) == edges.end()); edges.insert({u, v}); edges.insert({v, u}); } // check connectedness queue Q; vector seen(n, 0); int num_seen = 0; Q.push(0); while(!Q.empty()){ int i = Q.front(); Q.pop(); if(!seen[i]){ seen[i] = 1; num_seen++; for(auto j : graph[i]){ Q.push(j); } } } assert(num_seen == n); }