fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define endl '\n'
  5. #define ios cin.tie(0), ios::sync_with_stdio(false)
  6. #define f first
  7. #define s second
  8. const int maxN = 3e5;
  9. signed main(){
  10. // ios;
  11. int n, q;
  12. cin >> n >> q;
  13. set<int> st[maxN];
  14. int zero = n;
  15. // cout << 1 << endl;
  16. for(int i = 0; i < q; i++){
  17. int ty;
  18. cin >> ty;
  19. if(ty == 1){
  20. int u, v;
  21. cin >> u >> v;
  22. if(!st[v].size()) zero--;
  23. if(!st[u].size()) zero--;
  24. st[u].insert(v);
  25. st[v].insert(u);
  26.  
  27. }else if(ty == 2){
  28. int v;
  29. cin >> v;
  30. if(st[v].size()){
  31. for(auto i: st[v]){
  32. st[i].erase(v);
  33. if(!st[i].size()) zero++;
  34. }
  35. st[v].clear();
  36. zero++;
  37. }
  38. }
  39. cout << zero << endl;
  40. }
  41.  
  42. }
  43.  
Success #stdin #stdout 0.01s 17608KB
stdin
3 7
1 1 2
1 1 3
1 2 3
2 1
1 1 2
2 2
1 1 2
stdout
1
0
0
1
0
3
1