AtCoder Regular Contest 107
問題文
省略
省略
C++に変換後のコードはこちら
#define MD 998244353
int N, K, A[50][50];
int sz, lis[50];
Comb<Modint> c;
{
unionFind uf1, uf2;
Modint res = 1;
rd(N,K,A(N,N));
uf1.walloc(N,1);
uf2.walloc(N,1);
rep(i,N) rep(j,i+1,N){
rep(k,N) if(A[k][i] + A[k][j] >K) break_continue;
uf1(i,j);
}
rep(i,N) rep(j,i+1,N){
rep(k,N) if(A[i][k] + A[j][k] >K) break_continue;
uf2(i,j);
}
sz = uf1.sizeList(lis);
rep(i,sz) res *= c.fac(lis[i]);
sz = uf2.sizeList(lis);
rep(i,sz) res *= c.fac(lis[i]);
wt(res);
}
Current time: 2024年03月29日19時33分38秒
Last modified: 2020年11月01日02時02分38秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Regular_Contest ARC107 ARC_C
トップページに戻る
Logged in as: unknown user (not login)