Submission #68772259


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl "\n"
#define ff first
#define ss second
#define pb push_back
#define all(a) a.begin(),a.end()
#define rall(a) a.rbegin(),a.rend()
#define f(i,x,y) for(int i=x;i<y;i++)
#define f2(i,x,y) for(int i=x;i>=y;i--)
#define pii pair<int,int>
#define Fast ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
const int MOD =1000000007;
const int INF = 1e18;
const int N = 2e5 + 1;
int parent[N]; //map<int,int> parent;
int siz[N];    //map<int,int> siz;
void make_set(int v) {
    parent[v]=v; siz[v]=1;
}
int find_set(int v) {
    return (v==parent[v])?v:parent[v]=find_set(parent[v]);
}
void union_sets(int a, int b) {
    a = find_set(a);
    b = find_set(b);
    if (a == b) return;
    if(siz[a]<siz[b]) swap(a,b);
    parent[b] = a;
    siz[a]+=siz[b]; 
    siz[b]=0; //siz.erase(b);
}
int get_size(int v){
    return siz[find_set(v)];
}
void solve(int tc){
    int n,q; cin >> n >> q;
    vector<int>cnt(n+1),color(n+1);
    for(int i=1;i<=n;i++){
        make_set(i);
        cnt[i] = 0;
    }
    while(q--){
        int t; cin >> t;
        if(t == 1){
            int u,v; cin >> u >> v;
            int p1 = find_set(u);
            int p2 = find_set(v);
            if(p1 == p2){
                continue;
            }
            union_sets(u,v);
            int p = find_set(u);
            if(p1 == p)cnt[p1] += cnt[p2];
            else cnt[p2] += cnt[p1];
        }
        else if(t==2){
            int u; cin >> u;
            if(color[u]==0)cnt[find_set(u)]++;
            else cnt[find_set(u)]--;
            color[u] = 1 - color[u];
        }
        else {
            int u; cin >> u;
            cout << (cnt[find_set(u)]>0 ? "Yes" : "No") << endl;
        }
    }
}
int32_t main(){

    Fast

    int t=1;

    // cin >> t;

    for(int tc=1;tc<=t;tc++){

        solve(tc);
    }
    return 0;
}

Submission Info

Submission Time
Task E - Reachability Query
User H_R_K
Language C++ 20 (gcc 12.2)
Score 450
Code Size 1988 Byte
Status AC
Exec Time 110 ms
Memory 9480 KiB

Compile Error

Main.cpp: In function ‘void solve(long long int)’:
Main.cpp:37:16: warning: unused parameter ‘tc’ [-Wunused-parameter]
   37 | void solve(int tc){
      |                ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 450 / 450
Status
AC × 1
AC × 85
Set Name Test Cases
Sample sample_01.txt
All sample_01.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt, test_48.txt, test_49.txt, test_50.txt, test_51.txt, test_52.txt, test_53.txt, test_54.txt, test_55.txt, test_56.txt, test_57.txt, test_58.txt, test_59.txt, test_60.txt, test_61.txt, test_62.txt, test_63.txt, test_64.txt, test_65.txt, test_66.txt, test_67.txt, test_68.txt, test_69.txt, test_70.txt, test_71.txt, test_72.txt, test_73.txt, test_74.txt, test_75.txt, test_76.txt, test_77.txt, test_78.txt, test_79.txt, test_80.txt, test_81.txt, test_82.txt, test_83.txt, test_84.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 3472 KiB
test_01.txt AC 1 ms 3408 KiB
test_02.txt AC 1 ms 3428 KiB
test_03.txt AC 49 ms 3424 KiB
test_04.txt AC 49 ms 3404 KiB
test_05.txt AC 39 ms 3468 KiB
test_06.txt AC 58 ms 3496 KiB
test_07.txt AC 53 ms 3636 KiB
test_08.txt AC 56 ms 3652 KiB
test_09.txt AC 46 ms 3456 KiB
test_10.txt AC 55 ms 3504 KiB
test_11.txt AC 51 ms 3632 KiB
test_12.txt AC 50 ms 3340 KiB
test_13.txt AC 47 ms 3552 KiB
test_14.txt AC 53 ms 3552 KiB
test_15.txt AC 58 ms 3644 KiB
test_16.txt AC 44 ms 3440 KiB
test_17.txt AC 47 ms 3516 KiB
test_18.txt AC 55 ms 3484 KiB
test_19.txt AC 55 ms 3636 KiB
test_20.txt AC 46 ms 3432 KiB
test_21.txt AC 87 ms 9480 KiB
test_22.txt AC 97 ms 9376 KiB
test_23.txt AC 96 ms 9328 KiB
test_24.txt AC 90 ms 9336 KiB
test_25.txt AC 103 ms 9324 KiB
test_26.txt AC 101 ms 9316 KiB
test_27.txt AC 92 ms 9336 KiB
test_28.txt AC 88 ms 9476 KiB
test_29.txt AC 102 ms 9476 KiB
test_30.txt AC 103 ms 9380 KiB
test_31.txt AC 110 ms 9400 KiB
test_32.txt AC 101 ms 9336 KiB
test_33.txt AC 99 ms 9348 KiB
test_34.txt AC 94 ms 9376 KiB
test_35.txt AC 99 ms 9376 KiB
test_36.txt AC 95 ms 9340 KiB
test_37.txt AC 100 ms 9392 KiB
test_38.txt AC 100 ms 9364 KiB
test_39.txt AC 104 ms 9376 KiB
test_40.txt AC 91 ms 9388 KiB
test_41.txt AC 108 ms 9376 KiB
test_42.txt AC 101 ms 9472 KiB
test_43.txt AC 107 ms 9404 KiB
test_44.txt AC 92 ms 9472 KiB
test_45.txt AC 102 ms 9312 KiB
test_46.txt AC 101 ms 9328 KiB
test_47.txt AC 100 ms 9400 KiB
test_48.txt AC 98 ms 9372 KiB
test_49.txt AC 93 ms 9336 KiB
test_50.txt AC 98 ms 9376 KiB
test_51.txt AC 93 ms 9336 KiB
test_52.txt AC 98 ms 9340 KiB
test_53.txt AC 101 ms 9320 KiB
test_54.txt AC 95 ms 9340 KiB
test_55.txt AC 99 ms 9248 KiB
test_56.txt AC 103 ms 9312 KiB
test_57.txt AC 90 ms 9384 KiB
test_58.txt AC 86 ms 9408 KiB
test_59.txt AC 91 ms 9408 KiB
test_60.txt AC 92 ms 9312 KiB
test_61.txt AC 74 ms 9336 KiB
test_62.txt AC 91 ms 9320 KiB
test_63.txt AC 89 ms 9376 KiB
test_64.txt AC 80 ms 9348 KiB
test_65.txt AC 73 ms 9360 KiB
test_66.txt AC 83 ms 9392 KiB
test_67.txt AC 83 ms 9472 KiB
test_68.txt AC 82 ms 9480 KiB
test_69.txt AC 65 ms 4200 KiB
test_70.txt AC 79 ms 6700 KiB
test_71.txt AC 64 ms 4320 KiB
test_72.txt AC 93 ms 9056 KiB
test_73.txt AC 78 ms 6728 KiB
test_74.txt AC 79 ms 7792 KiB
test_75.txt AC 74 ms 6304 KiB
test_76.txt AC 67 ms 5552 KiB
test_77.txt AC 95 ms 9404 KiB
test_78.txt AC 103 ms 9308 KiB
test_79.txt AC 104 ms 9384 KiB
test_80.txt AC 96 ms 9336 KiB
test_81.txt AC 92 ms 9404 KiB
test_82.txt AC 96 ms 9328 KiB
test_83.txt AC 93 ms 9476 KiB
test_84.txt AC 97 ms 9364 KiB