AtCoder Regular Contest 107 C問題 - Shuffle Permutation

Source

AtCoder Regular Contest 107
問題文

問題概要

省略

解法

省略

cLayversion 20201031-1)のコード

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: 2021年09月28日08時00分57秒
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)

ログイン: