#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |