Submission #1096328

#TimeUsernameProblemLanguageResultExecution timeMemory
1096328vjudge1Inside information (BOI21_servers)C++11
5 / 100
1849 ms377380 KiB
#include <bits/stdc++.h>
using namespace std;
set<int>sp[8001];
int n,k,sum[8001];
int main(){
    cin>>n>>k;
    for(int i=1;i<=n;i++)sum[i]=1,sp[i].insert(i);
    k=k+n-1;
    while(k--){
        char s;cin>>s;
        if(s=='S'){
            int x,y;cin>>x>>y;
            for(auto j:sp[x])
            {
                sp[y].insert(j);
            }
            for(auto j:sp[y])
            {
                sp[x].insert(j);
            }
            for(auto j:sp[y])
            {
                sum[j]++;
            }
        }else if(s=='Q'){
            int a,d;cin>>a>>d;
            if(sp[a].find(d)!=sp[a].end()){
                cout<<"yes"<<endl;
            }else cout<<"no"<<endl;

        }else{
            int x;cin>>x;
            cout<<sum[x]<<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...