poj1017

it2022-05-23  67

又是贪心,有点思路,但比较乱,还不知道怎么写,看了题解,感觉自己基本是个废人了

#include <iostream> #include <cstring> #include <cstdio> using namespace std; int n,a,b,c,d,e,f,g,x,y; int u[4]={0,5,3,1};//3*3的物品%4后余项为0,1,2,3的数组,就是还能放几个2*2 int main() { while(~scanf("%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f)) { if(!a&&!b&&!c&&!d&&!e&&!f&&!g) break; n=f+e+d+(c+3)/4;//(c+3)/4,很厉害的技巧,这是精髓 y=d*5+u[c%4];//能插空的2*2东西个数 if(b>y) n+=((b-y)+8)/9;//多了再加箱子 x=n*36-f*36-e*25-d*16-c*9-b*4;//能插空的1*1的物品个数 if(x<a) n+=(a-x+35)/36;//不够再加 printf("%d\n",n); } return 0; }

 

转载于:https://www.cnblogs.com/Wangwanxiang/p/6655233.html

相关资源:各显卡算力对照表!

最新回复(0)