1 条题解

  • 0
    @ 2025-8-24 22:23:13

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar q_sum
    ++互关

    搬运于2025-08-24 22:23:13,当前版本为作者最后更新于2020-08-09 21:27:35,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    好像还没有人用O(1)O(1)的算法:

    #include<bits/stdc++.h>
    using namespace std;
    int n;
    int main()
    {
    	cin>>n;
    	if(n==4||n==7)
    	{
    		cout<<-1;
    		return 0;
    	}//这两要特判,否则会WA
        if(n%5==0)
          cout<<n/5;else//如果整除5,那么全部用第二种包装盒
          if(n%5==1)
            cout<<n/5+1;else//如果余数为1,我们把一个②号包装盒替换成两个①号包装盒,总个数增加了1
            if(n%5==2)
              cout<<n/5+2;else//如果余数为2,我们把两个②号包装盒替换成四个①号包装盒,总个数增加了2
              if(n%5==3)
                cout<<n/5+1;else//如果余数为3,我们再加上一个①号包装盒,总个数增加了1
                cout<<n/5+2;//如果余数为4,我们把一个②号包装盒替换成三个①号包装盒,总个数增加了2
        return 0;
    }
    
    

    于是就完美的结束啦!

    • 1

    信息

    ID
    5710
    时间
    1000ms
    内存
    128MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者