暑假热身 D. 条形码设计

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

FL现在很想知道一个问题,就是用她的这种条形码编码方式,对于一个给定的长度n最多能有多少不同的条形码可供使用?

Input

多组测试数据,每一行一个正整数n(n≤28),以n = 0时作为结束。

Output

最与每一组数据,先输出“Case k:”,其中k代表case数,接下来输出一个数,可用的的条形码数目m(m不超过231.)

Sample Input

1
2
3
4
5
0

Sample Output

Case 1:1
Case 2:3
Case 3:3
Case 4:8
Case 5:12

2333这道题和万杰讨论出来的^_^。找递推,分n为奇数或偶数奇数一种情况,偶数两种情况,递推中间分开讨论。

#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[n]+b[n])/2;
        printf("Case %d:%d\n",i++,j);
    }
    return 0;
}

时间: 2024-08-29 13:50:40

暑假热身 D. 条形码设计的相关文章

条形码设计

条形码设计 Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO format: %lld      Java class name: Main Submit Status 校ACM队准备筹划向学校批请一个专用机房.但是为了防止它变成公用机房,FL建议采用刷卡进入的办法,她设计了一种条形码,每人都对应一个.这种大小为2*n的条形码由以下三种元素构成:1*2.2*1.2*2的长方形方格.但是我们同样也知道,很多人都容易在刷卡时把卡的位

暑假热身 E. 无聊的LSY

LSY大牛没事就爱玩游戏,包括很多很无聊的游戏.某日,LSY大牛又找到了一个无聊的游戏:每一局游戏的开始,LSY大牛将代表自己的棋子放在一个线性棋盘的最左端(第0个格子,可以认为向右端无限延伸),接着,他会从浩大的牌堆里随机摸三张牌A,B和N,在本局中,LSY大牛可以将代表自己的棋子向左或者向右移动A或者B个格子,当LSY的棋子停在了第N个格子上的时候,LSY大牛将获得本局比赛的胜利.当然,这游戏实在是有点太无聊了……于是LSY大牛希望大家写一个小程序来帮助他判断当前比赛是否能够获胜. Inpu

暑假热身 B. 下载测速

最近,nono终于结束了每年一次的为期12个月的冬眠,醒来的第一件事就是——看电影!!nono发现最近一年出现了各种很好很强大的电影,例如这个.这个.还有这个. 于是nono直接把这些电影全部扔进了下载列表之中.已知nono下载了N部电影,其中第i部电影的大小为Si,该电影最大下载速度不会超过Vi,在任一时刻全部电影的下载速度之和不会超过Vt.现在nono希望知道在这些条件下至少需要多长时间才能将这些电影全部下完. Input 多组输入.每组输入的第一行为两个整数N,Vt(0<N≤106, 0<

暑假热身 A. GCC

GCC编译器是一个由GNU项目维护的编译系统,它支持多种编程语言的编译.但是它并不包含数学运算符“!”.在数学中,这个符号代表阶乘.表达式n!的意思是从1到n的所有整数的乘积. 例如,4!=4*3*2*1=24. (0!定义为1) 现在请你写程序计算一下 (0! + 1! + 2! + 3! + 4! + ... + n!)%m. Input 第一行是一个整数T,代表了测试数据的组数. 每组测试数据单独一行,包括一个整数n和m,用一个空格隔开. 0 < T <= 20 0 <= n &l

2016电子设计比赛【简易电子秤】的设计

文:  小波/QQ463431476 今年暑假参加了电子设计比赛,4天3夜(2016/7/25---7/29)选了个电子秤,所以想说说一点心得分享一下.秤可以测量,用了滤波和一个线性的方程. 硬件部分主要焊接4个电阻应变片搭建一个全桥电路,然后经过放大器,将电压信号放大,HX711拥有一个24位 AD    来采集电压值,经过数字量与重量值得转换(拟合方程) ,得到最终的真实重量值. 介绍一下电阻应变片,就是可以发生形变的电阻,电阻值改变电压或者电流就可以改变.(图一) (图一电阻应变片) 然后

支持多操作系统和多区域设置,包括Windows, MAC, Linux和Unix

Universal Barcode Font Advantage可以在一个单一的字体中生成的多种条形码类型兼容多种操作系统并具有双字节字符集的语言,例如,日文,中文和韩文 具体功能: Patent Pending字体技术能生成高质量的符号. 以一个单一的字体轻松地打印多种条形码类型. 支持多操作系统和多区域设置,包括Windows, MAC, Linux和Unix. 内含TrueType, OpenType, PCL LaserJet soft fonts和PostScript字体版本. 支持A

常见条码类型科普

中琅领跑条码标签打印软件是一款优秀的条码打印工具,是目前在行业中使用最多的软件,也是一款最快速,最容易设计专业.高质量标签的条码打印软件.在实际生产生活中,了解条码类型是做好条形码设计和有效使用中至关重要的一步,那么,对于行业中常见条码类型您了解多少呢?下面就带大家认识下行业标准下比较常见的几种条码类型. 首先在中琅领跑条码标签打印软件中点击创建一个条形码,双击条形码后在"条码"-类型中可以浏览到本产品提供的条码类型,如下图 Code 39 Code 39,又称为"Code

大三学生暑假到传智播客培训UI设计,不料竟被坑

你的大学是不是这样度过的?每天听着不知所云的课,想着中午吃什么,晚饭吃什么,要不要去网吧通个宵:再有三天就周末了,再有两个月就放假了:是不是该找个女朋友了:暑假无所事事,是不是该学点东西开学以后装装×?呵呵,你在做一件没有意义的工作还是正在挖着人生的金矿?答案只有你自己知道! 我叫黄*,男 ,21岁,来自福建仙游县,我想说说我曾经迷茫无措的人生,也好给有同样经历的人一些启示吧,很高兴也很感激我在最迷茫的阶段选择了传智播客. 先聊聊我的大学吧.我就读于一所民办大学,叫吉利大学,专业是旅游管理.我并

记2015暑假大学生电子设计竞赛

本想暑假留校好好学习,顺便参加一下电赛,算是对自己前两年在实验室学习生活的一点交代,可并不如意,不能成为自己所想的样子. 12号早上发布了赛题,劝服高老师选择了b题(做一个风力摆),题目即使是现在想来也是十分有意思. 12号下午就去找材料,搭支架.可一直到了第二天下午快到晚饭的时间架子才送来.然后就是一直想着让它摆起来,恰巧delay延时设置的准确,高兴就这样过了头,后来与用公式计算出来的延时相差无几.对了13号上午一直粘风扇,忙了一上午,下午忘记忙啥了,晚上乱调一通.然后14号高老师过来调他的