360笔试装载货物求助大佬,我自己本地可以啊,但是赛码就0

搬家公司正在帮助一家人将小物体装箱。 一个箱子的大小是有限的,公司可以把一个箱子分成最多k个独立的隔间,将一个箱子分成r个隔间需要r-1个隔板(这一个箱子没有放隔板也拥有一一个本身的隔间)。而这一-次搬家 工作只携带了b个隔板。在每一个隔间中,由于物件放多了容易损坏,最多只能放v个物体。现在这家人有a个物体,请问最少需要多少个箱子,才能将所有的物体装箱?多组数据,每一行一-组数据包含4个数,a,b,k,v,空格隔开。输出包含一个数, 即最少的箱子数


class Solution: def loading(self,a,b,k,v):
        sum = 0  if a == 0: return 0  if a < k: return 1  max_every = v * k while b > 0 : if a // max_every != 0:
                a -= max_every
                b -= 1  sum += 1  while a > 0:
            a -= v
            sum += 1  return sum if __name__ == '__main__':
    s = Solution()
    number1, number2, number3,number4 = map(int, input().strip().split(' '))
    s_loading = s.loading(number1, number2, number3, number4) print(s_loading)

#笔试题目##360公司#
全部评论
java写的,ac了 public static void main(String[] args) {         Scanner cin = new Scanner(System.in);         while (cin.hasNextInt()) {             int a = cin.nextInt();             int b = cin.nextInt();             int k = cin.nextInt();             int v = cin.nextInt();             int res=0;             while(a>0){                 if(b>=k-1){                     b=b-(k-1);                     a-=k*v;                 }else if(b<(k-1) && b!=0){                     a-=v*(b+1);                     b=0;                 }else{                     a-=v;                 }                 res++;             }             System.out.println(res);         }     }
1 回复 分享
发布于 2020-09-26 21:16
#include<iostream> using namespace std; int main() { int a, b, k, v; int ret = 0; while (cin >> a >> b >> k >> v) { if (b*k*v < a) { ret = b + a % (b*k*v); } else ret = b; cout << ret; } return 0; }
1 回复 分享
发布于 2020-09-26 21:54
我过了0.27 。😅
点赞 回复 分享
发布于 2020-09-26 21:16
import java.util.Scanner; public class demo4 {     public static void main(String[] args) {         Scanner scanner = new Scanner(System.in);         while (scanner.hasNext()){             int a = scanner.nextInt();  //需要装入的物品数量             int b = scanner.nextInt();  //隔板数             int k = scanner.nextInt();  //每个箱子最大能分割的数量             int v = scanner.nextInt();  //每个隔间最多能放置的物品数量             int res = 0;             int all = 0;  //当前已经装入箱子的             while(all<a){                 res++;                 if(b>=k-1){  //当前的隔板数完全可以分割一个箱子                     b = b-k+1;                     all = all+k*v;                 }else{                     all = all+(b+1)*v;                     b=0;                 }             }             System.out.println(res);         }     } } java 代码
点赞 回复 分享
发布于 2020-09-26 21:16
老哥a了多少
点赞 回复 分享
发布于 2020-09-26 21:16
我也刚考完😢😢😢
点赞 回复 分享
发布于 2020-09-26 21:16
多组输入吧
点赞 回复 分享
发布于 2020-09-26 21:17
import java.io.*; public class Main {     public static void main(String[] args) throws IOException {         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));         BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));         while (true) {             String[] strArray = br.readLine().split(" ");             int a = Integer.parseInt(strArray[0]);  // 物品总数             int b = Integer.parseInt(strArray[1]);  // 挡板总数             int k = Integer.parseInt(strArray[2]);  // 一个箱子最大隔间数             int v = Integer.parseInt(strArray[3]);  // 一个隔间最多放物品数             int res = 0;             // x * v + b * v >= a 推出 x >= a / v - b             int x = a / v - b;             res += x;             while ((double) b / x > (double) (k - 1)) {                 res++; x++;             }             bw.write(res + "\n");             bw.flush();         }     } }
点赞 回复 分享
发布于 2020-09-26 22:09

相关推荐

学不完不睡觉11:一眼点评,不过,看运气吧
点赞 评论 收藏
分享
01-18 09:26
已编辑
门头沟学院 Java
王桑的大offer:建议中间件那块写熟悉即可,写掌握 面试包被拷打到昏厥
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

更多
牛客网
牛客企业服务