AtCoder Beginner Contest 030 D問題 - へんてこ辞書

Source

AtCoder Beginner Contest 030
問題文

問題概要

省略

解法

省略

cLayversion 20190902-1)のコード

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

int N, A, B[1d5];
char K[100002]; int Ks;

int dis[1d5], vis[1d5];

{
  int i, k, m;
  rd(N,A--,K@Ks,(B--)(N));

  i = A;
  vis[i] = 1;
  for(;;){
    if(vis[B[i]]){
      m = dis[i]+1 - dis[B[i]];
      break;
    }
    dis[B[i]] = dis[i] + 1;
    vis[B[i]] = 1;
    i = B[i];
  }

  k = 0;
  if(Ks < 7){
    rep(i,Ks) k = 10k + K[i] - '0';
    if(k >= N) k = (k % m) + (N /+ m) * m;
  } else {
    rep(i,Ks) k = (10k + K[i] - '0') % m;
    k += (N /+ m) * m;
  }

  i = A;
  rep(k) i = B[i];
  wt(i+1);
}

Current time: 2021年09月18日05時37分45秒
Last modified: 2019年09月05日23時25分10秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Beginner_Contest ABC030 ABC_D
トップページに戻る

Logged in as: unknown user (not login)

ログイン: