# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
876296 | 2023-11-21T13:59:31 Z | serkanrashid | Jail (JOI22_jail) | C++14 | 7 ms | 4444 KB |
#include <bits/stdc++.h> #define endl "\n" using namespace std; const int maxn = 12*1e4+5; int q,n,m; int inf = 1e9; vector<int>g[maxn]; int s[maxn],t[maxn]; int used[maxn]; int want; vector<pair<int,int> >v; void precom() { for(int i=1;i<=n;i++) { g[i].clear(); used[i] = 0; } } void read() { cin >> n; precom(); int a,b; for(int i=1;i<n;i++) { cin >> a >> b; g[a].push_back(b); g[b].push_back(a); } cin >> m; for(int i=1;i<=m;i++) { cin >> s[i] >> t[i]; used[s[i]] = inf; } } void dfs(int beg, int par) { if(beg==want) want = -1; for(int nb:g[beg]) { if(nb!=par&&used[nb]!=inf) { if(used[nb]&&!used[used[nb]]) { v.push_back(make_pair(used[nb],used[used[nb]])); used[used[nb]] = inf; } dfs(nb,beg); } } } void solve() { bool ans = true; for(int z=1;z<=m;z++) { bool f = false; for(int i=1;i<=m;i++) { if(used[s[i]]==inf&&!used[t[i]]) { want = t[i]; dfs(s[i],s[i]); for(int x=0;x<v.size();x++) used[v[x].first] = v[x].second; v.clear(); if(want==-1) { used[s[i]] = 0; used[t[i]] = s[i]; f = true; break; } } } ans = (ans & f); if(!ans) break; } if(ans) cout << "Yes" << endl; else cout << "No" << endl; } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cin >> q; for(int i=1;i<=q;i++) { read(); solve(); } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 4444 KB | Output is correct |
2 | Correct | 1 ms | 4444 KB | Output is correct |
3 | Correct | 1 ms | 4444 KB | Output is correct |
4 | Incorrect | 7 ms | 4444 KB | Output isn't correct |
5 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 4440 KB | Output is correct |
2 | Correct | 1 ms | 4444 KB | Output is correct |
3 | Incorrect | 2 ms | 4440 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 4440 KB | Output is correct |
2 | Correct | 1 ms | 4444 KB | Output is correct |
3 | Incorrect | 2 ms | 4440 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 4440 KB | Output is correct |
2 | Correct | 1 ms | 4444 KB | Output is correct |
3 | Incorrect | 2 ms | 4440 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 4440 KB | Output is correct |
2 | Correct | 1 ms | 4444 KB | Output is correct |
3 | Incorrect | 2 ms | 4440 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 4444 KB | Output is correct |
2 | Correct | 1 ms | 4444 KB | Output is correct |
3 | Correct | 1 ms | 4444 KB | Output is correct |
4 | Correct | 1 ms | 4444 KB | Output is correct |
5 | Incorrect | 4 ms | 4444 KB | Output isn't correct |
6 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 4444 KB | Output is correct |
2 | Correct | 1 ms | 4444 KB | Output is correct |
3 | Correct | 1 ms | 4444 KB | Output is correct |
4 | Incorrect | 7 ms | 4444 KB | Output isn't correct |
5 | Halted | 0 ms | 0 KB | - |