Submission #1168150

#TimeUsernameProblemLanguageResultExecution timeMemory
1168150Troll321Inside information (BOI21_servers)C++20
5 / 100
489 ms589824 KiB
#include <bits/stdc++.h> #define fi first #define se second using namespace std; typedef long long ll; typedef pair<ll, ll> pll; typedef pair<bool, bool> pbb; const ll MAXN = 120000 + 5; const ll MAXQ = 2*MAXN; // 5 5 // S 1 2 // S 3 4 // S 5 4 // S 2 3 // C 1 // C 2 // C 3 // C 4 // C 5 ll n, k; pair<char, pll> query[MAXQ]; // {Type, {a, b}} vector<ll> server[MAXN]; ll cnt[MAXN]; void addEdge(ll a, ll b) { vector<ll> tmpa = server[a]; vector<ll> tmpb = server[b]; for (int i = 0; i < tmpa.size(); ++i) { server[b].push_back(tmpa[i]); cnt[tmpa[i]]++; } for (int i = 0; i < tmpb.size(); ++i) { server[a].push_back(tmpb[i]); cnt[tmpb[i]]++; } } void data(ll a, ll b) { bool ada = false; for (int i = 0; i < server[a].size(); ++i) { if(server[a][i] == b) { ada = true; break ; } } cout << (ada ? "yes" : "no") << "\n"; } void count(ll a) { cout << cnt[a] << "\n"; } void input() { cin >> n >> k; for (int i = 1; i <= n; ++i) { server[i].push_back(i); cnt[i] = 1; } for (int i = 1; i <= n+k-1; ++i) { cin >> query[i].fi; switch(query[i].fi) { case 'S': cin >> query[i].se.fi >> query[i].se.se; addEdge(query[i].se.fi, query[i].se.se); break ; case 'Q': cin >> query[i].se.fi >> query[i].se.se; data(query[i].se.fi, query[i].se.se); break ; case 'C': cin >> query[i].se.fi; count(query[i].se.fi); break ; } } } int main() { ios_base::sync_with_stdio(false); cin.tie(0); input(); 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...