HHKB プログラミングコンテスト 2022(AtCoder Beginner Contest 235) D問題 - Multiply and Rotate

Source

HHKB プログラミングコンテスト 2022(AtCoder Beginner Contest 235)
問題文

問題概要

省略

解法

省略

cLay(version 20220116-1)のコード

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

ll @A, @N; int dist[1d6], q[], qs = 0, qe = 0; ll ni;
int sz, d[10];
rep(i,1d6) dist[i] = -1;
dist[1] = 0;
q[qe++] = 1;
while(qs < qe){
  i = q[qs++];

  ni = i * A;
  if(ni < 1d6 && dist[ni] == -1){
    dist[ni] = dist[i] + 1;
    q[qe++] = ni;
  }

  if(i%10){
    sz = Digit(i, d);
    arrRot(1,sz,d);
    ni = invDigit(sz,d);
    if(dist[ni] == -1){
      dist[ni] = dist[i] + 1;
      q[qe++] = ni;
    }
  }
}

wt(dist[N]);

Current time: 2024年05月19日02時00分35秒
Last modified: 2022年01月16日13時51分02秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Beginner_Contest ABC235 ABC_D
トップページに戻る

Logged in as: unknown user (not login)

ログイン: