Submission #1187404

#TimeUsernameProblemLanguageResultExecution timeMemory
1187404kl0989eInside information (BOI21_servers)C++17
5 / 100
586 ms589824 KiB
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define fi first
#define se second
#define pb push_back
#define vi vector<int>
#define vl vector<ll>
#define pi pair<int, int>
#define pl pair<ll,ll>
#define all(x) (x).begin(),(x).end()

int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n,k;
    cin >> n >> k;
    vector<set<int>> servers(n);
    vi count(n,1);
    for (int i=0; i<n; i++) {
        servers[i].insert(i);
    }
    char c;
    int a,b;
    for (int i=0; i<k+n-1; i++) {
        cin >> c;
        if (c=='S') {
            cin >> a >> b;
            a--;
            b--;
            if (servers[a].size()<servers[b].size()) {
                swap(a,b);
            }
            servers[a].merge(servers[b]);
            servers[b]=servers[a];
            for (auto aa:servers[a]) {
                count[aa]++;
            }
        }
        else if (c=='Q') {
            cin >> a >> b;
            a--;
            b--;
            if (servers[a].count(b)) {
                cout << "yes\n";
            }
            else {
                cout << "no\n";
            }
        }
        else {
            cin >> a;
            a--;
            cout << count[a] << '\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...