您的位置:首页 > 其它

hdu5551Huatuo's Medicine(The 2015 China Collegiate Programming Contest )

2015-11-08 17:48 316 查看

Huatuo's Medicine

Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)

Total Submission(s): 167 Accepted Submission(s): 126


[align=left]Problem Description[/align]
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
and B,
he will put A
into one bottle and put B
into two bottles. Then he will chain the bottles in the order of
′−B−A−B−′.
In this way, when he arrived the patient's home, he knew that the bottle in the middle is medicine
A
and the bottle on two sides are medicine B.

Now you need to help Huatuo to work out what's the minimal number of bottles needed if he want to bring
N
types of medicine.

[align=left]Input[/align]
The first line of the input gives the number of test cases,
T(1≤T≤100).
T
lines follow. Each line consist of one integer N(1≤N≤100),
the number of types of the medicine.

[align=left]Output[/align]
For each test case, output one line containing
Case #x: y
, where x
is the test case number (starting from 1) and y
is the minimal number of bottles Huatuo needed.

[align=left]Sample Input[/align]

1
2

[align=left]Sample Output[/align]

Case #1: 3

[align=left]Source[/align]
The 2015 China Collegiate Programming Contest 

大大大大大水题,不想多说。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <stack>
#include <queue>
#include <map>
#include <set>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;
const double eps = 1e-6;
const double pi = acos(-1.0);
const int INF = 0x3f3f3f3f;
const int MOD = 1000000007;
#define ll long long
#define CL(a,b) memset(a,b,sizeof(a))
#define MAXN 100010

int main()
{
int T,n;
cin>>T;
for(int cas=1; cas<=T; cas++)
{
cin>>n;
cout<<"Case #"<<cas<<": ";
cout<<2*n-1<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: