제출 #887638

#제출 시각아이디문제언어결과실행 시간메모리
887638TAhmed33Jail (JOI22_jail)C++98
0 / 100
623 ms1048576 KiB
#include <bits/stdc++.h> using namespace std; int n, m; vector <int> adj[251]; vector <int> g; bool dfs (int pos, int par, int c) { if (pos == c) { g.push_back(pos); return 1; } bool f = 0; for (auto j : adj[pos]) { if (j == par) continue; f |= dfs(j, pos, c); } if (f) g.push_back(pos); return f; } int main () { int t = 1; cin >> t; while (t--) { cin >> n; for (int i = 1; i <= n; i++) adj[i].clear(); for (int i = 1; i < n; i++) { int a, b; cin >> a >> b; adj[a].push_back(b); adj[b].push_back(a); } cin >> m; int x, y; cin >> x >> y; dfs(x, -1, y); auto f = g; g.clear(); cin >> x >> y; dfs(x, -1, y); auto e = g; g.clear(); int cnt = 0; bool flag = 0; for (auto i : f) flag |= i == e[0]; cnt += flag; flag = 0; for (auto i : e) flag |= i == f[0]; cnt += flag; cout << (cnt <= 1 ? "Yes\n" : "No\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...