解:(耐心点,别怪没提醒,点个关注吧)
2025-12-13 20:15:52
发布于:广东
看代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
long long x,y,z,n,m;
cin>>x>>y>>z>>n>>m;
long long count=0;
for(int i=0;i<=m;i++){
for(int j=0;j<=m;j++){
int k=m-i-j;
if(i*x+j*y+k/z==n&&k%z==0){
count++;
}
}
}
cout<<count<<endl;
return 0;
}
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
////
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
如果你看到这里说明你是真的想学,那么恭喜你躲过了陷阱,上面的代码会有两个报错但看着和平常差不多
先看代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
long long x,y,z,n,m;
cin>>x>>y>>z>>n>>m;
long long count=0;
for(int i=0;i<=m;i++){
for(int j=0;j<=m-i;j++){
int k=m-i-j;
if(i*x+j*y+k/z==n&&k%z==0&&i+j+k==m){
count++;
}
}
}
cout<<count<<endl;
return 0;
}
其实一开始我也没发现最上面的代码报错了
先看思路:
慢慢看
公鸡数量 i、母鸡数量 j、小鸡数量 k 满足:
总金额:ix + jy + k/z = n(小鸡每 z 只 1 元)
总数量:i + j + k = m
金额整除约束:k % z == 0
约束:1 ≤ x, y, z ≤ 10,1 ≤ n, m ≤ 1000
2. 算法设计
三重循环枚举:
外层循环 i(公鸡数量):0 ≤ i ≤ m
中层循环 j(母鸡数量):0 ≤ j ≤ m-i(避免重复计算)
内层计算 k(小鸡数量):k = m - i - j
条件判断:
金额约束:ix + jy + k/z == n
整除约束:k % z == 0
总数约束:i + j + k == m(隐含在循环中)
计数:满足条件时 count++
3. 关键修正点
小鸡计数修正:k/z 改为 k/z*3(每 z 只 1 元)
循环优化:j 循环范围改为 j ≤ m-i(避免重复计算)
边界检查:隐含在循环中(i,j,k 自动在 0~m 范围内)
修正的错误
原先错误代码:if(ix+jy+k/zn&&k%z0)
修正的原因:每 z 只小鸡 1 元,需乘以 z 转换为元数
这样就确保小鸡数量与金额匹配
原先的代码:未包含 i+j+k==m
修正的原因:确保公鸡+母鸡+小鸡总数等于 m
这样避免部分组合超出总数限制
等
所以屏幕前的GO友,学废了吗,感谢看到这,点个关注吧别逼我求你
求你了点开吧!!!!!!!
全部评论 5
就是每个东西的数量的价格加起来是等于所花钱数的(k是总鸡数减去公鸡数再减去母鸡数得到小鸡数),并且小鸡数量不可能有小数点,所以要判断是否能整除,然后还要算三只鸡的数量加起来是否等于买了m只鸡、但是为啥公鸡数量的循环要放在母鸡循环的外面,可不可以调换一下(快回复快回复
)2025-12-26 来自 广东
0bro你6:00就刷ACGO啊?
2025-12-27 来自 广东
0
如果每只公鸡
x
x 元,每只母鸡
y
y 元,每
z
z 只小鸡
1
1 元;现在有
n
n 元,买了
m
m 鸡,共有多少种方案?2025-12-26 来自 广东
0作者大大,等量关系可以列一下吗

2025-12-26 来自 广东
0什么叫约束
2025-12-26 来自 广东
0字面意思
2025-12-27 来自 广东
0
这么复杂

2025-12-26 来自 广东
0多看多学
2025-12-27 来自 广东
0








有帮助,赞一个