이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#define ii pair <int, int>
#define x first
#define y second
#define db(x) cerr << #x << " = " << x << endl;
using namespace std;
inline void read(int &x){register int c = getchar();x = 0; int neg = 0;for (;((c<48 || c>57) && c != '-') ;c = getchar());if(c=='-') {neg=1;c=getchar();}for(;c>47 && c<58;c = getchar()) {x = (x<<1) + (x<<3) + c - 48;}if(neg) x=-x;}
inline void read(long long &x){register int c = getchar();x = 0; int neg = 0;for (;((c<48 || c>57) && c != '-') ;c = getchar());if(c=='-') {neg=1;c=getchar();}for(;c>47 && c<58;c = getchar()) {x = (x<<1) + (x<<3) + c - 48;}if(neg) x=-x;}
inline void writeln(long long x){char buffor[21];register int i=0;int neg=0; if (x<0) {neg=1; x= -x;}do{buffor[i++]=(x%10)+'0';x/=10;} while(x);i--;if (neg) putchar('-');while(i>=0) putchar(buffor[i--]);putchar('\n');}
inline void write(long long x){char buffor[21];register int i=0;int neg=0; if (x<0) {neg=1; x= -x;}do{buffor[i++]=(x%10)+'0';x/=10;} while(x);i--;if (neg) putchar('-');while(i>=0) putchar(buffor[i--]);putchar(' ');}
const int N = 2007;
int m, n, pa, pb, A, B, u, v;
int d[N], res[N];
vector <int> adjA[N], adjB[N], q[N];
void DFS(int u, int val){
for (int v: adjA[u]){
d[v] += val;
DFS(v, d[v]);
}
}
void DFS1(int u){
res[u] += d[u];
for (int v: adjB[u]){
DFS1(v);
}
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
// freopen("test.inp", "r", stdin);
// freopen("test.out", "w", stdout);
read(n); read(m);
for (int i = 1; i <= n; i++){
read(pa); read(pb);
if (pa){
adjA[pa].push_back(i);
}
else
A = i;
if (pb){
adjB[pb].push_back(i);
}
else
B = i;
}
for (int i = 1; i <= m; i++){
read(u); read(v);
q[v].push_back(u);
}
for (int i = 1; i <= n; i++){
memset(d, 0, sizeof(d));
for (int x: q[i]){
d[x]++;
}
DFS(A, d[A]);
// for (int j = 1; j <= n; j++)
// write(d[j]);
// putchar('\n');
DFS1(i);
}
for (int i = 1; i <= n; i++)
writeln(res[i]);
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |