HDU 5551 Huatuo's Medicine(宇宙无敌炒鸡大水题)

97 篇文章 0 订阅

Huatuo was a famous doctor. He use identical bottles to carry the medicine. There are different types of medicine. Huatuo put medicines into the bottles and chain these bottles together. 

However, there was a critical problem. When Huatuo arrived the patient's home, he took the chain out of his bag, and he could not recognize which bottle contains which type of medicine, but he remembers the order of the bottles on the chain. 

Huatuo has his own solution to resolve this problem. When he need to bring 2 types of medicines, E.g.  A A and  B B, he will put  A A into one bottle and put  B B into two bottles. Then he will chain the bottles in the order of  BAB ′−B−A−B−′. In this way, when he arrived the patient's home, he knew that the bottle in the middle is medicine  A A and the bottle on two sides are medicine  B B

Now you need to help Huatuo to work out what's the minimal number of bottles needed if he want to bring  N N types of medicine.
Input
The first line of the input gives the number of test cases,  T(1T100) T(1≤T≤100) T T lines follow. Each line consist of one integer  N(1N100) N(1≤N≤100), the number of types of the medicine.
Output
For each test case, output one line containing  Case #x: y, where  x x is the test case number (starting from 1) and  y y is the minimal number of bottles Huatuo needed.
Sample Input
1
2
Sample Output
Case #1: 3


题解:

水到完全不想写题解,好久没写日志了凑几篇

贴诗:

丁巳重阳前三日,梦亡妇淡装素服,执手哽咽,语多不复能记。但临别有云:“衔恨愿为天上月,年年犹得向郎圆。”妇素未工诗,不知何以得此也,觉后感赋。

瞬息浮生,薄命如斯,低徊怎忘。记绣榻闲时,并吹戏雨;雕阑曲处,同倚斜阳。梦好难留,诗残莫续,赢得更深哭一场。遗容在,只灵飙一转,未许端详。

重寻碧落茫茫。料短发、朝来定有霜。便人间天上,尘缘未断;春花秋叶,触绪还伤。欲结绸缪,翻惊摇落,减尽荀衣昨日香。真无奈,倩声声邻笛,谱出回肠。

——纳兰容若《沁园春》

代码:

#include<iostream>
#include<cstring>
#include<stdio.h>
#include<math.h>
#include<string>
#include<stdio.h>
#include<queue>
#include<stack>
#include<map>
#include<vector>
#include<deque>
#include<algorithm>
#define ll long long
#define INF 100861111
#define M (t[k].l+t[k].r)/2
#define lson k*2
#define rson k*2+1
using namespace std;
int main()
{
    int i,j,test,q,n;
    scanf("%d",&test);
    for(q=1;q<=test;q++)
    {
        scanf("%d",&n);
        printf("Case #%d: %d\n",q,n*2-1);
    }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值