AtCoder Regular Contest 087/AtCoder Beginner Contest 082 D問題 - FT Robot

Source

AtCoder Regular Contest 087
AtCoder Beginner Contest 082
問題文 (ARC)
問題文 (ABC)

問題概要

省略

解法

省略

cLayversion 20190925-1)のコード

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

char S[8002]; int N, X, Y;

int x[3100], y[3100], xs, ys;
int dp[4001];
{
  int i, j, k = 0;
  rd(S@N,X,Y);
  rep(i,N) if(S[i]!='F') break;
  X -= i;
  while(i<N){
    j = i;
    while(j<N && S[j]=='F') j++;
    if(j > i) if[k==0, x[xs++], y[ys++]] = j - i;
    i = j + 1;
    k ^= 1;
  }

  rep(2){
    k = sum(x(xs)) - abs(X);
    if(k < 0 || k % 2) wt("No"), return 0;
    k /= 2;

    dp[0] = 1;
    rep(i,1,k+1) dp[i] = 0;
    rep(j,xs) rrep(i,x[j],k+1) dp[i] |= dp[i-x[j]];
    if(dp[k]==0) wt("No"), return 0;

    swap(X,Y);
    swap(xs,ys);
    REP(i,max(xs,ys)) swap(x[i], y[i]);
  }

  wt("Yes");
}

Current time: 2021年09月24日18時11分45秒
Last modified: 2019年09月28日09時45分04秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Regular_Contest AtCoder_Beginner_Contest ARC087 ABC082 ARC_B ABC_D
トップページに戻る

Logged in as: unknown user (not login)

ログイン: