東京海上日動 プログラミングコンテスト2021(AtCoder Regular Contest 122) C問題 - Calculator

Source

東京海上日動 プログラミングコンテスト2021(AtCoder Regular Contest 122)
問題文

問題概要

省略

解法

省略

cLay(version 20210926-1)のコード

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

__int128_t @N;
__int128_t f[100] = {0, 1}, nn[100] = {};
__int128_t x, y;
int ress = 0, res[200];
rep(i,2,100) f[i] = f[i-1] + f[i-2];
rrep(i,100) if(N >= f[i]) nn[i] = 1, N -= f[i];
rep(i,89){
  if(nn[90-1-i]){
    if(i%2==0) x++, res[ress++] = 1;
    if(i%2==1) y++, res[ress++] = 2;
  }
  if(ress){
    if(i%2==0) x = x+y, res[ress++] = 3;
    else       y = x+y, res[ress++] = 4;
  }
}
wt(ress);
wtLn(res(ress));

Current time: 2024年04月25日20時00分44秒
Last modified: 2021年10月24日13時08分45秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Regular_Contest ARC122 ARC_C
トップページに戻る

Logged in as: unknown user (not login)

ログイン: