记录编号 |
51918 |
评测结果 |
AAAAAAAAAAA |
题目名称 |
[USACO Feb08] 晚餐队列安排 |
最终得分 |
100 |
用户昵称 |
cstdio |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.009 s |
提交时间 |
2013-01-04 20:54:03 |
内存使用 |
0.53 MiB |
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
freopen("diningb.in","r",stdin);
freopen("diningb.out","w",stdout);
int n;
int d[30001]={0},f1[30001]={0},f2[30001]={0};
int i;
scanf("%d",&n);
for(i=1;i<=n;i++) scanf("%d",&d[i]);
for(i=1;i<=n;i++){
if(d[i]==1){
f1[i]=f1[i-1];//1只能从1改
f2[i]=(f2[i-1]+1<f1[i-1]+1)?f2[i-1]+1:f1[i-1]+1;//2可以从1或2改
}
else{
f1[i]=f1[i-1]+1;//1只能从1改
f2[i]=(f2[i-1]<f1[i-1])?f2[i-1]:f1[i-1];//2可以从1或2改
}
}
printf("%d\n",(f1[n]<f2[n])?f1[n]:f2[n]);
return 0;
}