제출 #1239751

#제출 시각아이디문제언어결과실행 시간메모리
1239751dostsIsland Hopping (JOI24_island)C++20
2 / 100
1 ms408 KiB
#include "island.h" #include <bits/stdc++.h> #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2") //#define int long long #define pii pair<int,int> #define vi vector<int> #define ff first #define ss second #define sp << " " << #define all(x) x.begin(),x.end() #define big(x) ((int)(x.size())) using namespace std; const int MOD = 1e9+7, LIM = 1e6+1, inf = 2e9; struct DSU { vi dad; DSU (int nn) { dad.resize(nn+1); iota(all(dad),0ll); } int find(int x) { if (x == dad[x]) return x; return dad[x] = find(dad[x]); } void unite(int x,int y) { dad[find(x)] = find(y); } }; void solve(int N, int L) { vi active(N+1,1),deg(N+1,0); int ctr = 0; DSU dsu(N); while (ctr < N-1) { for (int i = 1;i<=N && ctr < N-1;i++) { if (!active[i]) continue; int j = query(i,deg[i]+1); if (dsu.find(j) == dsu.find(i)) active[i] = 0; else { dsu.unite(i,j); answer(i,j); ctr++; deg[i]++,deg[j]++; } } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...