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

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


Problem Description
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 BAB . 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.

Input
The first line of the input gives the number of test cases, T(1T100) . T lines follow. Each line consist of one integer N(1N100) , the number of types of the medicine.

Output
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.

Sample Input
   
   
   
   
1 2

Sample Output
   
   
   
   
Case #1: 3

Source
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;
}


你可能感兴趣的:(水)