一、实验目标
公鸡1只5钱,母鸡1只3钱,小鸡3只1钱,用百钱买百鸡,问有几种购买的方案?
输入格式
输出格式
输入
100 100
输出
4
数据规模
:
- 30%的数据:n, m <= 100
- 100%的数据:n, m <= 1 000
二、分析
1、思路
枚举思路1: 维度:公鸡数(0到100)、母鸡数(0到100)、小鸡(0到100) 状态:购买方案(公鸡数a、母鸡数b、小鸡数c) 判定:小鸡数被3整除 并且 钱等于100 并且 总数等于100 求解:计数
枚举思路2(剪枝): 维度:公鸡数(0到20)、母鸡数(0到33)、小鸡(0、3、6..99) 状态:购买方案(公鸡数a、母鸡数b、小鸡数c) 判定:钱等于100 并且 总数等于100 求解:计数
枚举思路3(剪枝-剪维度): 维度:小鸡(0、3、6..99)、公鸡数(0到100-公鸡数) 状态:购买方案(公鸡数a、小鸡数c, 母鸡数b=100-a-b) 判定:钱等于100 求解:计数
这里采用枚举思路3!
代码↓
#include<bits/stdc++.h>
using namespace std;
int main(){
int a=0;
int n,m;
cin>>n>>m;
for(int i = 0; i <=m/5; i++)
{
for(int j = 0; j <= m/3; j++)
{
for(int k=0;k<=m;k+=3)
{
if(i*5+j*3+k/3==n&&i+j+k==m) a++;
}
}
}
cout << a;
return 0;
}
嘿嘿嘿!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)