#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int main(int argc, char** argv){ if(argc < 8){ cerr << "Usage: " << argv[0] << " SEED K R TMAX CMAX WLO WHI\n"; return 1; } long long SEED = stoll(argv[1]); int K = stoi(argv[2]); int R = stoi(argv[3]); int TMAX = stoi(argv[4]); int CMAX = stoi(argv[5]); int WLO = stoi(argv[6]); int WHI = stoi(argv[7]); if(WLO < 1) WLO = 1; if(WHI < WLO) WHI = WLO; mt19937_64 rng(SEED); auto rnd = [&](int lo,int hi){ uniform_int_distribution d(lo,hi); return d(rng); }; cout << R << "\n"; for(int i=1;i<=R;i++) cout << rnd(1, max(1,TMAX)) << (i==R?'\n':' '); cout << K << "\n"; for(int i=1;i<=K;i++) cout << rnd(1, max(1,CMAX)) << (i==K?'\n':' '); vector> E; auto add = [&](int a,int b){ E.emplace_back(a,b, rnd(WLO,WHI)); }; if(K>=2) add(1,2); if(K>=3){ add(2,3); add(1,3); } for(int v=4; v<=K; ++v){ int u = rnd(1, v-1); add(u, v); if(rnd(0,3)==0){ int w = rnd(1, v-1); if(w!=u){ int a=min(w,v), b=max(w,v); E.emplace_back(a,b, rnd(WLO,WHI)); } } } cout << E.size() << "\n"; for(auto &e: E){ int a,b,w; tie(a,b,w)=e; cout << a << " " << b << " " << w << "\n"; } return 0; }