1 条题解

  • 4
    @ 2024-10-3 12:21:00

    这。。。肥肠简单,可以直接模拟(我个大聪明一开始看成了背包问题😕 )

    • 如果这件宝物能装,就装进去;

    • 如果不能,就把包清空,结果+1,再次尝试

    • 如果这个物品太大以至于大过了包的体积,说明无法偷走全部宝物,输出-1.

      上代码!!

      #include<bits/stdc++.h>
      using namespace std;
      int main(){    
          freopen("thief.in","r",stdin);
          freopen(" thief.out","w",stdout);
          int n,w;
          cin>>n>>w;
          int ans=0,cnt=0;
          while(n--){
              int x;cin>>x;
              if(x>w){
                  cout<<-1;
                  return 0;
              }
              if(cnt+x>w){
                  ans++;cnt=0;
              }
              cnt+=x;
          }cout<<ans+1;
      }
      

    如果AC了点个赞(绿色的)再走呗,🦀🦀!

    • @ 2024-10-3 12:23:34

      对了,第二个freopen多打了一个空格,记得改过来!!否则RE!

    • @ 2024-10-3 16:32:51

      %%%%%%%%%%%%%%%%orzorzorz

  • 1

信息

ID
771
时间
1000ms
内存
256MiB
难度
6
标签
(无)
递交数
102
已通过
29
上传者