考研复试 百鸡问题[暴力遍历] HERODING的考研之路
发布日期:2021-05-13 20:58:46 浏览次数:19 分类:精选文章

本文共 928 字,大约阅读时间需要 3 分钟。

解题思路

考研刷题系列第一题,属于中规中矩的暴力题。解题时需要注意边界部分。在编写代码时,可以选择从0到100的遍历方式,这样能够更快地节省时间并且更符合题目的需求。以下是两种不同的遍历方式及其代码实现:

第一种方法是按照价格进行遍历:

#include 
using namespace std;
int main() {
int n;
cin >> n;
for(int i = 0; i <= n /5; i++) {
for(int j = 0; j <= (n -5*i)/3; j++) {
if((100 - i - j)/3.0 <= (n -5*i -3*j) && (100 -i -j)>=0) {
cout << "x=" << i << ",y=" << j << ",z=" << (100 -i -j) << endl;
}
}
}
return 0;
}

第二种方法是按照数量进行遍历:

#include 
using namespace std;
int main() {
int n;
cin >> n;
for(int i = 0; i <=100; i++) {
for(int j =0; j <=100 -i; j++) {
if(100 -i -j >=0 && 5*i +3*j + (100 -i -j)/3.0 <=n) {
cout << "x=" <
<<",y="<
<<",z="<< (100 -i -j) << endl;
}
}
}
return 0;
}

这两种遍历方式分别从不同的维度出发,但都能够正确满足题目的要求。选择哪一种方式取决于具体的需求和优化目标。在实际应用中,可以根据需要选择最优的遍历方向。

上一篇:考研复试 与7无关的数[暴力遍历 反序] HERODING的考研之路
下一篇:LeetCode 1310 子数组异或查询[位运算 异或] HERODING的LeetCode之路

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2025年04月07日 20时33分37秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章