第十六届蓝桥杯 2025 C/C++组 密密摆放

目录

题目:

题目描述:

题目链接:

思路:

思路详解:

发个牢骚:

代码:

代码详解:


题目:

题目描述:

题目链接:

P12337 [蓝桥杯 2025 省 AB/Python B 第二场] 密密摆放 - 洛谷

思路:

思路详解:

我看到题目的第一想法就是把小盒子尽可能放满大箱子(装到即使存在小部分空间但是也不够再放一个小盒子的情况),因为由题允许小盒子从各个方向旋转(包括可以平放和倒放)。但是我们观察一下可以发现存在200恰好是40的倍数,250恰好是50的倍数,240恰好是30的倍数,即小盒子换个方向放恰好能把大箱子装满(不留一点空间)。所以计算最大的数量就是(200/40)*(250/50)*(240/30)=200

发个牢骚:

很显然,由于这题是A题给出的数据是特殊的数据,所以做出结果还是很简单的。回到一开始的想法,如果给出的条件全是特殊数据怎么处理呢?当然我也看了一圈洛谷的题解,发现并没有得到想要的对特殊情况的讲解。而且洛谷题解有直接用体积公式算结果的,还有讨论小盒子的六种排列方式的,个人感觉完全就是为了写题解而写,用体积公式是因为这题数据特殊,六种排列方式的题解全部小盒子都固定按一种来排列(实际每次放小盒子进去的方法完全可以不一样)。看了评论区有大佬说如果数据没有这样的特殊性质应该使用背包dp解决,但是没有具体题目支持也无从下手

代码:

代码详解:

复制代码
#include<bits/stdc++.h> //填空题,答案是200 
using namespace std;

int main()
{
	cout<<(200/40)*(250/50)*(240/30)<<endl;
	return 0;
}
相关推荐
社交怪人28 分钟前
【算平均分】信息学奥赛一本通C语言解法(题号2071)
c语言·开发语言
卢锡荣1 小时前
单芯通吃,盲插标杆 —— 乐得瑞 LDR6020,Type‑C 全场景互联 “智慧芯”
c语言·开发语言·计算机外设
AI科技星2 小时前
《数学公理体系·第三部·数术几何》(2026 年版)
c语言·开发语言·线性代数·算法·矩阵·量子计算·agi
小小编程路2 小时前
C++ 多线程与并发
java·jvm·c++
kkeeper~2 小时前
0基础C语言积跬步之字符函数与字符串函数(上)
c语言·开发语言
程序leo源3 小时前
Qt窗口详解
开发语言·数据库·c++·qt·青少年编程·c#
東隅已逝,桑榆非晚3 小时前
字符函数和字符串函数
c语言·笔记
zh_xuan4 小时前
解决VS Code 控制台中文乱码
c++·vscode·乱码
郭涤生4 小时前
飞凌 RK3588 开发板同显 / 异显模式切换
c++·rk3588
计算机安禾4 小时前
【c++面向对象编程】第38篇:设计原则(二):里氏替换、接口隔离与依赖倒置
开发语言·c++