#include "testlib.h" #include #include using namespace std; using ll = unsigned long long; using pll = pair; const double eps = 1e-3; int main(int argc, char *argv[]) { registerGen(argc, argv, 1); ll n = opt("N"); ll m = opt("M"); println(n, m); vector cnt(n + 1, 0); for (ll i = 0; i < m; ++i) { ll s = rnd.next(1uLL, n); if (cnt[s] == n - 1) { i--; continue; } cnt[s]++; } unordered_map M; for (ll s = 1; s <= n; ++s) { ll k = cnt[s]; if (k == 0) continue; M.clear(); const ll N = n - 1; for (ll i = 0; i < k; ++i) { ll R = N - i; ll j = rnd.next(1uLL, R); ll val_j = M.count(j) ? M[j] : j; ll val_last = M.count(R) ? M[R] : R; M[j] = val_last; ll e = (val_j < s) ? val_j : val_j + 1; double len = rnd.next(eps, 1.0 / eps); println(s, e, len); } } }