AtCoder Regular Contest 109 C問題 - Large RPS Tournament

Source

AtCoder Regular Contest 109
問題文

問題概要

省略

解法

省略

cLayversion 20201205-1)のコード

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

int N, K;
char S[102];

int memo[105][105];
int solve(int st, int k){
  int a, b;
  if(memo[st][k] >= 0) return memo[st][k];
  if(k==0) return memo[st][k] = S[st];

  a = solve(st, k-1);
  b = solve((st+powmod(2,k-1,N))%N, k-1);
  if((a-b)%%3==2) a = b;
  return memo[st][k] = a;
}

{
  int res;
  rep(i,105) rep(j,105) memo[i][j] = -1;

  rd(N,K,S);
  rep(i,N) S[i] = if[S[i]=='R', 0, S[i]=='P', 1, 2];
  res = solve(0, K);
  wt(if[res==0, "R", res==1, "P", "S"]);
}

Current time: 2021年09月28日08時38分07秒
Last modified: 2020年12月05日19時04分54秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Regular_Contest ARC109 ARC_C
トップページに戻る

Logged in as: unknown user (not login)

ログイン: