競プロ今日の備忘録

問題を解いた上での気づき、反省を

AOJ_0168: Kannondou

Kannondou | Aizu Online Judge

DPの練習。さすがに方針は楽に立てられた。 また問題文を読み落とした(「一日に十回」の部分)。それで大幅なロスをしてしまった。 しっかり整理してから取り組むようにしなければならない。

#include <cstdio>

using namespace std;

int n,dp[34];

int main(){
  while(1){
    scanf("%d",&n);
    if(n==0) break;
    for(int i=0;i<34;i++) dp[i]=0;
    dp[0]=1;

    for(int i=0;i<n;i++){
      dp[i+1]+=dp[i];
      dp[i+2]+=dp[i];
      dp[i+3]+=dp[i];
    }

    
    int ans=(dp[n]/3650)+1;

    printf("%d\n",ans);

  }
  return 0;

}