Kyoto University Programming Contest 2019
問題文
省略
省略
C++に変換後のコードはこちら
int N, A[1d5], B[1d5];
graph g;
int dp[2][1d5];
{
int k, cnt = 0;
REP(rd_int()){
rd(N);
rep(i,N-1) A[i] = rd_int()-1, B[i] = i+1;
g.setEdgeRootedTree(N,N-1,A,B);
rrep(i,N){
dp[0][i] = dp[1][i] = 0;
if(g.es[i]==0) dp[1][i] = 1, continue;
rep(j,g.es[i]){
k = g.edge[i][j];
if(dp[0][k]==0) dp[0][i] = 1;
if(dp[1][k]==0) dp[1][i] = 1;
}
}
if(dp[0][0]==0 && dp[1][0]==0) wt("Alice"), return 0;
if(dp[0][0]==1 && dp[1][0]==0) cnt ^= 1;
}
wt(if[cnt, "Alice", "Bob"]);
}
Current time: 2024年04月23日16時23分39秒
Last modified: 2019年11月01日21時27分54秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder
トップページに戻る
Logged in as: unknown user (not login)