AtCoder Beginner Contest 152
問題文
省略
省略
C++に変換後のコードはこちら
int N, A[50], B[50], M, U[20], V[20];
ll ind[50];
wgraph<ll> g;
ll dist[50][50];
ll mask[20];
int len, path[51];
{
ll res = 0, mk;
rd(N,(A--,B--)(N-1),M,(U--,V--)(M));
rep(i,N-1) ind[i] = (1LL << i);
g.setEdge(N,N-1,A,B,ind);
rep(i,N) g.getDistForest(i,dist[i]);
rep(i,M) mask[i] = dist[U[i]][V[i]];
rep(i,1<<M){
mk = 0;
rep(j,M) if(i & 1<<j) mk |= mask[j];
res if[BIT_popcount(i)%2==0,+=,-=] 1LL << (N - 1 - BIT_popcount(mk));
}
wt(res);
}
Current time: 2024年04月26日08時19分54秒
Last modified: 2020年02月16日11時10分46秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Beginner_Contest ABC152 ABC_F
トップページに戻る
Logged in as: unknown user (not login)