Submission #557938

#TimeUsernameProblemLanguageResultExecution timeMemory
557938AdamGSInside information (BOI21_servers)C++17
5 / 100
3581 ms10652 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; #define rep(a, b) for(int a = 0; a < (b); ++a) #define st first #define nd second #define pb push_back #define all(a) a.begin(), a.end() const int LIM=12e4+7; vector<pair<int,int>>V[LIM]; vector<int>T; void DFS(int x, int o, int lst) { T.pb(x); for(auto i : V[x]) if(i.st!=o && i.nd>lst) DFS(i.st, x, i.nd); } int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n, k, ile=0; cin >> n >> k; rep(i, n+k-1) { T.clear(); char c; cin >> c; if(c=='S') { int a, b; cin >> a >> b; --a; --b; ++ile; V[a].pb({b, ile}); V[b].pb({a, ile}); } else if(c=='Q') { int a, b; cin >> a >> b; --a; --b; DFS(b, b, 0); bool ans=false; for(auto j : T) if(j==a) ans=true; cout << (ans?"yes":"no") << '\n'; } else { int a; cin >> a; --a; DFS(a, a, 0); cout << T.size() << '\n'; } } }
#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...