キーエンス プログラミング コンテスト 2020 D問題 - Swap and Flip

Source

キーエンス プログラミング コンテスト 2020
問題文

問題概要

省略

解法

省略

cLayversion 20200119-1)のコード

C++に変換後のコードはこちら

int N, A[18], B[18];
int dp[262144][37];

int solve(int mask, int bf){
  int i, k, x = 0, c = 0, res = int_inf;
  if(dp[mask][bf] >= 0) return dp[mask][bf];

  rep(i,N) if(!(mask & 1<<i)) x++;
  rep(i,N) if(mask & 1<<i){
    k = if[(i+x)%2==0, A[i], B[i]];
    if(k >= bf) res <?= solve(mask^(1<<i), k) + c;
    c++;
  }

  return dp[mask][bf] = res;
}

{
  int res;
  rd(N,A(N),B(N));
  coordcomp(N,A,N,B);
  rep(i,1<<N) rep(j,37) dp[i][j] = -1;
  rep(j,37) dp[0][j] = 0;
  res = solve((1<<N)-1, 0);
  wt(if[res==int_inf,-1,res]);
}

Current time: 2021年09月28日22時16分10秒
Last modified: 2020年01月19日04時39分24秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder
トップページに戻る

Logged in as: unknown user (not login)

ログイン: