| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 83138 | Leonardo_Paes | Birokracija (COCI18_birokracija) | C++11 | 1071 ms | 11408 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
#define MAXN 200100
vector<int> grafo[MAXN];
int resp[MAXN], pai[MAXN], mark[MAXN];
void dfs (int u, int num, int sum){
mark[u]=1;
resp[u]+=sum;
if(pai[u]==0)return;
if(mark[pai[u]]==0){
num++;
}
dfs(pai[u], num, (sum+num));
}
int main(){
int n;
cin >> n;
for(int i=2; i<=n; i++){
int p;
cin >> p;
grafo[p].push_back(i);
pai[i]=p;
}
pai[1]=0;
for(int i=2; i<=n; i++){
if(grafo[i].size() == 0){
dfs(i, 1, 1);
}
}
for(int i=1; i<=n; i++){
cout << resp[i] << " ";
}
cout << endl;
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... | ||||
