エイシングプログラミングコンテスト2021(AtCoder Beginner Contest 202)
問題文
省略
省略
C++に変換後のコードはこちら
int N, A[2d5], B[], Q, U[], D[];
int res[], vis[];
VI ind[], dd[];
graph g;
void dfs(int n, int b, int d){
rep(i,ind[n].size()) res[ind[n][i]] -= vis[dd[n][i]];
vis[d]++;
rep[g.edge[n]](i,g.es[n]) dfs(i,n,d+1);
rep(i,ind[n].size()) res[ind[n][i]] += vis[dd[n][i]];
}
{
rd(N);
rep(i,N-1) A[i] = i+1, B[i] = rd_int()-1;
rd(Q,(U--,D)(Q));
g.setEdgeRootedTree(N,N-1,A,B);
rep(i,Q){
ind[U[i]].push_back(i);
dd[U[i]].push_back(D[i]);
}
dfs(0,-1,0);
wtLn(res(Q));
}
Current time: 2024年04月27日04時20分28秒
Last modified: 2021年05月24日22時25分37秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Beginner_Contest ABC202 ABC_E
トップページに戻る
Logged in as: unknown user (not login)