제출 #1150544

#제출 시각아이디문제언어결과실행 시간메모리
1150544brover29Collapse (JOI18_collapse)C++20
5 / 100
15092 ms9076 KiB
#include "collapse.h" #include <bits/stdc++.h> using namespace std; using ll = long long; const ll N=1e5+29; set<ll>g[N]; ll x,used[N]; void dfs(ll v){ used[v]=1; for(ll to:g[v]){ if(used[to]||(v<=x&&x<to)||(to<=x&&x<v))continue; dfs(to); } } vector<int> simulateCollapse(int n,vector<int> T,vector<int> X,vector<int> Y,vector<int> W,vector<int> P) { vector<int>ans; for(ll i=0;i<P.size();i++){ x=P[i]; ll t=W[i]; for(ll i=0;i<n;i++){ used[i]=0; g[i].clear(); } for(ll i=0;i<=t;i++){ ll v=X[i]; ll u=Y[i]; if(!T[i]){ g[v].insert(u); g[u].insert(v); }else{ g[v].erase(u); g[u].erase(v); } } ll cnt=0; for(ll i=0;i<n;i++){ if(!used[i])dfs(i),cnt++; } ans.push_back(cnt); } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...