AtCoder Regular Contest 090
AtCoder Beginner Contest 087
問題文 (ARC)
問題文 (ABC)
省略
省略
C++に変換後のコードはこちら
int N, M, A[4d5], B[4d5], D[4d5];
wgraph<int> g;
int d[1d5];
void doit(int n, int b){
int i, k;
rep(i,g.es[n]){
k = g.edge[n][i];
if(k==b) continue;
if(d[k]==int_inf){
d[k] = d[n] + g.cost[n][i];
doit(k, n);
} else {
if(d[k] != d[n] + g.cost[n][i]) wt("No"), exit(0);
}
}
}
{
rd(N,M,(A--,B--,D)(M));
rep(i,M) A[i+M] = B[i], B[i+M] = A[i], D[i+M] = -D[i];
g.setDirectEdge(N, 2M, A, B, D);
rep(i,N) d[i] = int_inf;
rep(i,N) if(d[i]==int_inf) d[i]=0, doit(i, -1);
wt("Yes");
}
Current time: 2024年04月27日11時42分54秒
Last modified: 2019年09月05日06時52分50秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Regular_Contest AtCoder_Beginner_Contest ARC090 ABC087 ARC_B ABC_D
トップページに戻る
Logged in as: unknown user (not login)