제출 #1301346

#제출 시각아이디문제언어결과실행 시간메모리
1301346efegInside information (BOI21_servers)C++20
2 / 100
353 ms589824 KiB
#include <bits/stdc++.h>
using namespace std; 

using i64 = long long; 
template<typename T>
using vec = vector<T>; 

const int maxN = 120100; 

int n,k; 
bitset<maxN> sets[maxN]; 
int cnt[maxN];  

int main(){
    ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); 
    cin >> n >> k; 

    for (int i = 0; i < n; i++){
        sets[i][i] = 1;
        cnt[i] = 1;  
    }

    for(int i = 0; i < n+k-1; i++){
        char tc; cin >> tc; 
        if (tc == 'S'){
            int a,b; cin >> a >> b; 
            a--; b--; 

            bitset<maxN> xorVal = sets[a] ^ sets[b]; 
            
            /*for (int i = 0; i < n; i++){
                if (xorVal[i]) cnt[i]++; 
            }*/
            sets[a] = sets[b] = sets[a] | sets[b]; 

        }
        else if (tc == 'Q'){
            int a,b; cin >> a >> b; a--; b--; 
            if (sets[a][b]) cout << "yes" << endl; 
            else cout << "no" << endl; 
        }
        else{
            int d; cin >> d; d--;
            cout << cnt[d] << endl; 
        }
    }

    return 0; 
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...