HDU 3573 Buy Sticks(数学规律)

Buy Sticks

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 652    Accepted Submission(s): 280

Problem Description Imyourgod need 3 kinds of sticks which have different sizes: 20cm, 28cm and 32cm. However the shop only sell 75-centimeter-long sticks. So he have to cut off the long stick. How many sticks he must buy at least.  

 

Input The first line of input contains a number t, which means there are t cases of the test data.

There will be several test cases in the problem, each in one line. Each test cases are described by 3 non-negtive-integers separated by one space representing the number of sticks of 20cm, 28cm and 32cm. All numbers are less than 10^6.  

 

Output The output contains one line for each line in the input case. This line contains the minimal number of 75-centimeter-long sticks he must buy. Format are shown as Sample Output.  

 

Sample Input 2 3 1 1 4 2 2  

 

Sample Output Case 1: 2 Case 2: 3  

 

Author imyourgod (Special Thanks : crackerwang & Louty)  

 

Source
2010 ACM-ICPC Multi-University Training Contest(14)——Host by BJTU  

 

Recommend zhouzeyong       20+20+28 或者 20 + 20 + 30; 20+20+20 28(30)+28(30)   先筹三个的,后两个的  

#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
 //   freopen("in.txt","r",stdin);
//    freopen("out.txt","w",stdout);
    int T;
    int a,b,c;
    int iCase=0;
    scanf("%d",&T);
    while(T--)
    {
        iCase++;
        scanf("%d%d%d",&a,&b,&c);
        int res;
        if((b+c)*2>=a) res=a/2+(b+c-a/2+a%2+1)/2;
        else res=(b+c)+(a-(b+c)*2+2)/3;
        printf("Case %d: %d\n",iCase,res);
    }
    return 0;
}

 

    原文作者:算法小白
    原文地址: https://www.cnblogs.com/kuangbin/archive/2012/08/03/2622296.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞