您的位置:首页 > 其它

暑假热身 D. 条形码设计

2015-08-16 12:04 141 查看
校ACM队准备筹划向学校批请一个专用机房。但是为了防止它变成公用机房,FL建议采用刷卡进入的办法,她设计了一种条形码,每人都对应一个。这种大小为2*n的条形码由以下三种元素构成:1*2、2*1、2*2的长方形方格。但是我们同样也知道,很多人都容易在刷卡时把卡的位置搞反。为了避免机器错误的处理,我们认为下图的两种条形码是一样的(图中颜色只是为方便说明,不用考虑)。

#include<stdio.h>
#include<math.h>
int d[100],b[100];
int i,j,n;
int main()
{

d[0]=0;
d[1]=1;
d[2]=3;
d[3]=5;
b[0]=0;
b[1]=1;
b[2]=3;
b[3]=1;
for(i=3;i<=28;i++)
{
d[i]=d[i-1]+d[i-2]*2;
if(i%2!=0)
{
b[i]=d[(i-1)/2];
}
if(i%2==0)
{
b[i]=d[i/2]+d[(i-2)/2]*2;
}
}
i=1;
while(scanf("%d",&n)!=EOF&&n!=0)
{
j=(d
+b
)/2;
printf("Case %d:%d\n",i++,j);
}
return 0;
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: