时间限制:C/C++ 1秒,其他语言 2秒
空间限制:C/C++262144K,其他语言524288K
64bit IO Format:%lld
语言限定: C(clang11), C++(clang++11), Pascal(fpc 3.0.2), Java(javac 1.8), Python2(2.7.3), PHP(7.4.7), C#(mcs5.4), ObjC(gcc 5.4), Pythen3(3.9), JavaScript Node(12.18.2), JavaScript V8(6.0.0), Sqlite(3.7.9), R(4.0.3), Go(1.14.4), Ruby(2.7.1), Swift(5.3), matlab(Octave 5.2), Pypy2(pypy2.7.13), Pypy3(pypy3.6.1), Rust(1.44), Scala(2.11.12), Kotlin(1.4.10), Groovy(3.0.6), TypeScript(4.1.2), Mysql(8.0)
本题可使用本地IDE编码,不能使用本地已有代码,无跳出限制,
编码后请点击”保存并调试“按钮进行代码提交。
题目描述
有一堆长方体积木,它们的高度和宽度都相同,但长度不一。
小橙想把这堆积木叠成一面墙,墙的每层可以放一个积木,
也可以将多个积木拼接起来,要求每层的长度相同。
若必须用完这些积木,叠成的墙最多为多少层?
如下是叠成的一面墙的图示,积木仅按宽和高所在的面进行拼接。
输入描述
输入为一行,为各个积木的长度,数字
华为OD机试题:叠积木问题的解题策略
本文介绍了华为在线开发者(OD)考试中的一道编程题,涉及将不同长度的积木堆叠成每层长度相同的墙。题目要求在给定积木长度的情况下,求出能构建的最大层数,如果无法满足条件则输出-1。解题策略包括采用回溯算法从最小可能的每层长度开始尝试。文章提供了若干示例输入和对应的输出结果,并详细解释了示例的解决方案。
订阅专栏 解锁全文
417

被折叠的 条评论
为什么被折叠?



