This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
#define fi first
#define se second
#define mp make_pair
#define fastIO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
const int N = 120100;
const int M = N * 2;
vector<pii> T[N];
int bruh[M];
bool chk(int node, int par, int target, int las){
if(node == target) return true;
for(auto x : T[node]){
if(x.fi == par || x.se < las) continue;
if(chk(x.fi, node, target, x.se))
return true;
}
return false;
}
int main(){
fastIO;
int n, q;
cin >> n >> q;
char typ;
int xx, yy;
bool sol;
for(int iq = 1; iq <= n + q - 1; iq ++ ){
cin >> typ;
if(typ == 'S'){
cin >> xx >> yy;
T[xx].push_back(mp(yy, iq));
T[yy].push_back(mp(xx, iq));
}
else{
cin >> xx >> yy;
sol = chk(yy, -1, xx, 0);
if(sol == true){
bruh[iq] = -1;
}
else{
bruh[iq] = -2;
}
}
}
for(int i = 1; i <= n + q - 1; i ++ ){
if(bruh[i] == 0) continue;
if(bruh[i] == -1){
cout << "yes\n";
}
else if(bruh[i] == -2){
cout << "no\n";
}
else{
cout << bruh[i] << "\n";
}
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |