比赛 20101117 评测结果 WWWWWWWWWW
题目名称 拯救 最终得分 0
用户昵称 wangwangdog 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2010-11-17 11:26:52
显示代码纯文本
#include<stdio.h>
long i,n,a[1001],da[1001],db[1001],dca[1001],dcb[1001];
char cc;
int main()
{
	FILE *fin,*fout;
	fin=fopen("savey.in","rb");
	fout=fopen("savey.out","wb");
	fscanf(fin,"%ld\n",&n);
	for(i=1;i<=n;i++)
	{
		fscanf(fin,"%ld",&a[i]);
	}
	if(n==1)
	{
		if(a[1]==0)fprintf(fout,"0");
		if(a[1]==1)fprintf(fout,"1");
	}
	if(n==2)
	{
		if(a[1]==1&&a[2]==1)fprintf(fout,"2");
		if(a[1]==1&&a[2]==0)fprintf(fout,"1");
		if(a[1]==0&&a[2]==1)fprintf(fout,"3");
		if(a[1]==0&&a[2]==0)fprintf(fout,"0");
	}
	if(n!=1&&n!=2)
	{
		if(a[1]==1&&a[2]==1&&a[3]==1){da[3]=5;db[3]=2;}
		if(a[1]==1&&a[2]==1&&a[3]==0){da[3]=2;db[3]=5;}
		if(a[1]==1&&a[2]==0&&a[3]==1){da[3]=6;db[3]=1;}
		if(a[1]==1&&a[2]==0&&a[3]==0){da[3]=1;db[3]=6;}
		if(a[1]==0&&a[2]==1&&a[3]==1){da[3]=4;db[3]=3;}
		if(a[1]==0&&a[2]==1&&a[3]==0){da[3]=3;db[3]=4;}
		if(a[1]==0&&a[2]==0&&a[3]==1){da[3]=5;db[3]=0;}
		if(a[1]==0&&a[2]==0&&a[3]==0){da[3]=0;db[3]=7;}
		if(n==3)
		{
			fprintf(fout,"%ld",da[3]);
		}
		if(n!=3)
		{
			dca[3]=5;
			dcb[3]=7;
			for(i=4;i<=n;i++)
			{
				if(a[i]==0)
				{
					da[i]=da[i-1];
					db[i]=db[i-1]+1+dca[i-1];
					dca[i]=dca[i-1]+1+dcb[i-1];
					dcb[i]=dca[i-1]+1+dcb[i-1];
				}
				if(a[i]==1)
				{
					db[i]=da[i-1]; 
					da[i]=db[i-1]+1+dca[i-1];
					dca[i]=dca[i-1]+dcb[i-1]+1;
					dcb[i]=dca[i-1]+dcb[i-1]+1;
				}
			}
			fprintf(fout,"%ld",da[n]);
		}
	}
	fclose(fin);
	fclose(fout);
	return 0;
}