2020年8月20日 星期四

d502: 第三題:產品包裝

解題心得:
邊長=4的每個自己一箱,沒有剩餘空間。
邊長=3的每個自己一箱,每個剩下4*4*4-3*3*3 = 37 的空間
邊長=2的一箱可裝8個,若無法裝滿則剩下64-8*(b%8) 的空間
邊長=1的則是見縫插針,如果上面剩的空間夠就不用多一箱,不夠就多一箱。

程式碼:
#include <iostream>
using namespace std;


int main()
{
    int a,b,c,d;
    while(cin>>a>>b>>c>>d)
    {
        int ans=0,space=0;
        ans+=d;
        ans+=c;
        space+=37*c;
        ans+=(b%8==0?b/8:b/8+1);
        space+=64-8*(b%8);
        if(a>space) ans++;
        cout<<ans<<endl;
    }
    return 0;
}

沒有留言:

張貼留言