HDU 3573 Buy Sticks欲張り
1243 ワード
簡単な問題です.コードを参照してください.
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
using namespace std;
int min(int a,int b){
return a<b?a:b;
}
int main(){
int t,T;
int a,b,c;
scanf("%d",&T);
int sum;
for(t=1;t<=T;t++){
sum=0;
scanf("%d %d %d",&a,&b,&c);
int tem=min(a/2,c);
sum+=tem;
a-=tem*2;
c-=tem;
tem=min(a/2,b);
sum+=tem;
a-=tem*2;
b-=tem;
if(c>1){
tem=c/2;
sum+=tem;
c-=tem*2;
}
sum+=a/3;
a%=3;
sum+=(int)ceil((double)(a+b+c)/2);
printf("Case %d: ",t);
printf("%d
",sum);
}
}