2016-02-19から1日間の記事一覧

バイバイマン: アルゴリズム解説

N日めのバイバイマンの数は漸化式で S[N]=S[N-1]+(S[N-4]-S[N-6]+S[N-8]-S[N-10]+...) S[1]=1 となる。上記コードでは r=(S[N-4]+...) になるように計算している。 導出過程 まず、バイバイマンをサイズ別に何体いるかを求めることを考える。 サイズ1: A[N] …

バイバイマンを数えよう

http://d.hatena.ne.jp/Ozy/20160202 のコード解説。採点環境では int=4byte (long も 4byte) なので C系、OCaml は double 等で対処しないとあふれる。 Python これは提出していないけど最短タイ(50B) r=1;q=p=s=0;exec"r,q,p,s=q,p,s-q,s+r;print s;"*100 …