View Code of Problem 88

#include<stdio.h>
#include<math.h>
int main(){
	int a[6],sum=0;
	int i,x=0,y=0;//x放1*1的箱子,y放2*2的箱子 
	for(i=0;i<6;i++){
		scanf("%d",&a[i]);
	}
	if(a[0]==0&&a[1]==0&&a[2]==0&&a[3]==0&&a[4]==0&&a[5]==0)
	 return 0;
	sum+=a[3]+a[4]+a[5]+(a[2]+3)/4;
	if(a[2]%4==1){
		y+=5;
		x+=7; 
	}
	if(a[2]%4==2){
		y+=3;
		x+=6;
	}
	if(a[2]%4==3){
		y+=1;
		x+=5;
	}
	y+=5*a[3];//一个4*4剩下可放2*2的个数 
	if(y<a[1]) sum+=(ceil)((a[1]-y)*1.0/9);
	x=36*sum-36*a[5]-25*a[4]-16*a[3]-9*a[2]-4*a[1];
	if(x>a[0]) sum+=(ceil)((a[0]-y)*1.0/36);
	printf("%d\n",sum);
}

Double click to view unformatted code.


Back to problem 88