【CodeForces 698A】Vacations

f[i][0..2]表示第i天休息|运动|比赛最少的休息天数。

#include <cstdio>
#include <cstring>
#include <algorithm>
#define N 105
using namespace std;
int n,a,f[N][3],ans;
int main(){
    memset(f,0x3f3f3f3f,sizeof f);
    f[0][0]=0;
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        scanf("%d",&a);
        f[i][0]=min(f[i-1][0],min(f[i-1][1],f[i-1][2]))+1;
        if(a&&a!=2)f[i][1]=min(f[i-1][0],f[i-1][2]);
        if(a>1)f[i][2]=min(f[i-1][0],f[i-1][1]);
    }
    printf("%d",min(min(f[n][0],f[n][1]),f[n][2]));
} 
  

 

posted @ 2016-08-03 23:30  水郁  阅读(391)  评论(0编辑  收藏  举报
……