⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1307.cpp

📁 求把6种物品(1*1,2*2....6*6)放入6*6的盒子里,最少用几个盒子
💻 CPP
字号:
#include<iostream>
using namespace std;

int main()
{
int packet,i,number,a[7];
bool flag; 

while(cin>>a[1]>>a[2]>>a[3]>>a[4]>>a[5]>>a[6])
{ 
flag = 0; 
for(i = 1;i <= 6;i++)
  if(a[i] != 0)
  {  flag = 1;
     break; 
  } 
if(flag)
{
  packet = a[6];
  
  if(a[5] > 0)
  {  packet += a[5];
     a[1] -= 11*a[5]; 
  } 
  
  if(a[4] > 0)
  {  packet += a[4];
     if(5*a[4] <= a[2])
        a[2] -= 5*a[4];
        else { if(a[1] > 0)
            { number = (5*a[4] - a[2])*2;
              if(number <= a[1])   a[1] -= number; 
              else a[1] = 0;
            }
            a[2] = 0; 
            } 
  }

  
  if(a[3] > 0)
  {  packet += a[3]/4;
     a[3] %= 4;
     if(a[3] != 0)
     { packet++; 
     if(a[3] == 3)
     { if(a[2] > 0)
          { a[2]--; a[1] -= 5;} //a[1] -= 5;bie wang le
           else if(a[1] > 0) a[1] -= 9; 
     } else if(a[3] == 2)
            { if(a[2] >= 3) 
               { a[2] -= 3; a[1] -= 6;}
                else {if(a[1] > 0)
                       a[1] = a[1] -(18 - a[2]*4);
                       a[2] = 0; 
                     }
            } else { if(a[2] >= 5) {a[2] -= 5; a[1] -= 7;}
                      else { if(a[1] > 0)
                               a[1] = a[1] -(27 - a[2]*4); 
                               a[2] = 0; 
                           } 
     } 
     }
  }

  if(a[2] > 0)
  {
    packet += a[2]/9; 
    a[2] = a[2]%9;
    if(a[2] != 0)
    { packet++; 
    if(a[1] > 0)
       a[1] =a[1] - (36 - a[2]*4);  //xiaoxin
    }    
  } 


  if(a[1] > 0)
  {
  packet += a[1]/36;
  if(a[1]%36 != 0)
     packet++; 
  } 
  
cout<<packet<<endl; 
} else break; 
}  //endl while  
return 0; 
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -