# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
318357 | 2020-11-01T12:18:50 Z | georgerapeanu | Pastiri (COI20_pastiri) | C++11 | 517 ms | 38740 KB |
#include <bits/stdc++.h> using namespace std; const int NMAX = 500005; int n,k; vector<int> graph[NMAX + 5]; queue<int> q; int dist[NMAX + 5]; int main(){ scanf("%d %d",&n,&k); for(int i = 1;i < n;i++){ int a,b; scanf("%d %d",&a,&b); graph[a].push_back(b); graph[b].push_back(a); } for(int i = 1;i <= k;i++){ int nod; scanf("%d",&nod); q.push(nod); dist[nod] = 1; } vector<int> ans; while(q.empty() == false){ int nod = q.front(); q.pop(); bool root = true; for(auto it:graph[nod]){ if(dist[it] == 0){ dist[it] = dist[nod] + 1; q.push(it); root = false; } else if(dist[it] == dist[nod] + 1){ root = false; } } if(root){ ans.push_back(nod); } } printf("%d\n",(int)ans.size()); for(auto it:ans){ printf("%d ",it); } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 192 ms | 36324 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 11 ms | 12396 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 10 ms | 12140 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 517 ms | 38740 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |