CCF-CSP真题《202312-1 仓库规划》思路+python,c++,java满分题解
原创
题目背景
CCF-CSP认证考试中的《202312-1 仓库规划》题目,要求考生针对一个仓库的存储需求,设计一个合理的货物摆放方案,以最大化利用仓库空间。
题目思路
对于这一题目,我们首先需要对仓库的尺寸以及货物的尺寸有清楚的认识。通过分析题目,我们可以得知以下思路:
- 确定仓库的长、宽和货物的长、宽;
- 计算仓库中可以放置的货物行数和列数;
- 基于货物的长、宽和仓库的长、宽,计算仓库中剩余的空间;
- 输出货物的摆放数量和仓库的剩余空间。
Python题解
def warehouse_planning(length, width, goods_length, goods_width):
row = length // goods_length
col = width // goods_width
remaining_length = length - row * goods_length
remaining_width = width - col * goods_width
return row * col, remaining_length, remaining_width
length, width, goods_length, goods_width = map(int, input().split())
num_goods, remaining_length, remaining_width = warehouse_planning(length, width, goods_length, goods_width)
print(num_goods, remaining_length, remaining_width)
C++题解
#include <iostream>
using namespace std;
int warehouse_planning(int length, int width, int goods_length, int goods_width) {
int row = length / goods_length;
int col = width / goods_width;
int remaining_length = length - row * goods_length;
int remaining_width = width - col * goods_width;
return row * col;
}
int main() {
int length, width, goods_length, goods_width;
cin >> length >> width >> goods_length >> goods_width;
int num_goods = warehouse_planning(length, width, goods_length, goods_width);
int remaining_length = length - num_goods * goods_length;
int remaining_width = width - num_goods * goods_width;
cout << num_goods << " " << remaining_length << " " << remaining_width << endl;
return 0;
}
Java题解
import java.util.Scanner;
public class WarehousePlanning {
public static int warehousePlanning(int length, int width, int goodsLength, int goodsWidth) {
int row = length / goodsLength;
int col = width / goodsWidth;
int remainingLength = length - row * goodsLength;
int remainingWidth = width - col * goodsWidth;
return row * col;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int length = scanner.nextInt();
int width = scanner.nextInt();
int goodsLength = scanner.nextInt();
int goodsWidth = scanner.nextInt();
int numGoods = warehousePlanning(length, width, goodsLength, goodsWidth);
int remainingLength = length - numGoods * goodsLength;
int remainingWidth = width - numGoods * goodsWidth;
System.out.println(numGoods + " " + remainingLength + " " + remainingWidth);
}
}