제출 #899214

#제출 시각아이디문제언어결과실행 시간메모리
899214AIF_is_carvingInside information (BOI21_servers)C++17
5 / 100
2177 ms524288 KiB
#include <bits/stdc++.h>
typedef long long ll;
 
using namespace std;
 
const int N=120005;
set<int> graph[N];
int cnt[N];
 
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
 
 
 
    int n, k; cin>>n>>k;
 
    for(int i=1; i<=n; i++){
        graph[i].insert(i);
        cnt[i]=1;
    }
 
    for(int i=0; i<n+k-1; i++){
        char c; cin>>c;
        if(c=='S'){
            int u, v; cin>>u>>v;
            for(auto x: graph[v]){
                if(graph[u].find(x)==graph[u].end()){ 
                    cnt[x]+=1;
                    graph[u].insert(x);
                }
            }
            for(auto x: graph[u]){
                if(graph[v].find(x)==graph[v].end()){ 
                    cnt[x]+=1;
                    graph[v].insert(x);
                }
            }
        }
        else if(c=='Q'){
            int v, chunk ; cin>>v>>chunk;
            if(graph[v].find(chunk)==graph[v].end()){
                cout<<"no"<<"\n";
            }
            else{
                cout<<"yes"<<"\n";
            }  
        }
        else{
            int v; cin>>v;
            cout<<cnt[v]<<"\n";
        }
    }
 
    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...