# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1048609 | 2024-08-08T08:40:51 Z | LittleOrange | Simurgh (IOI17_simurgh) | C++17 | 7 ms | 436 KB |
#include "simurgh.h" #include<bits/stdc++.h> using namespace std; using ll = int; struct dsu{ ll n; vector<ll> p; dsu(ll N):n(N),p(N,-1){} ll g(ll i){ return p[i]<0?i:p[i] = g(p[i]); } bool m(ll a, ll b){ a = g(a); b = g(b); if(a==b) return false; if (p[a]>p[b]) swap(a,b); p[a] += p[b]; p[b] = a; return true; } }; std::vector<int> find_roads(int n, std::vector<int> u, std::vector<int> v) { mt19937_64 mt(random_device{}()); ll m = u.size(); if (m<=0){ for(ll j = 0;j<(1<<m);j++) if(__builtin_popcount(j)==n-1){ vector<ll> r; for(ll i = 0;i<m;i++) if(j>>i&1) r.push_back(i); dsu d(n); ll ok = 1; for(ll i : r){ if(!d.m(u[i],v[i]))ok = 0; } if(ok){ ll g = count_common_roads(r); if (g==n-1){ return r; } } } } vector<ll> ls(m); iota(ls.begin(),ls.end(),0); shuffle(ls.begin(),ls.end(),mt); vector<ll> a; { dsu d(n); for(ll i = 0;a.size()<n-1;i++) if(d.m(u[i],v[i]))a.push_back(i); } ll sc = count_common_roads(a); while(sc<n-1){ shuffle(a.begin(),a.end(),mt); vector<ll> b; for(ll i = 0;i<sc;i++) b.push_back(a[i]); dsu d(n); for(ll i : b) d.m(u[i],v[i]); for(ll i = 0;b.size()<n-1;i++) if(d.m(u[i],v[i]))b.push_back(i); ll nsc = count_common_roads(b); if (nsc>sc){ sc = nsc; a = b; } } return a; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 7 ms | 344 KB | WA in grader: NO |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 7 ms | 344 KB | WA in grader: NO |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 7 ms | 344 KB | WA in grader: NO |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | correct |
2 | Incorrect | 4 ms | 436 KB | WA in grader: NO |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 7 ms | 344 KB | WA in grader: NO |
2 | Halted | 0 ms | 0 KB | - |