大家好呀,这次是百钱买百鸡的第二题,忘了的可以回顾百钱买百鸡
这次的题目还是放在这里,忘了的话大家可以看看
这是第一题的题目,第二题将题目中n的数据范围改为1
using namespace std;
int main()
{
int n,c=0;
cin>>n;
for(int x=0;x5;x++)
{
for(int i=0;i3;i++)
{
int j=n-x-i; // 将小鸡的数量通过n-x-i得到
if(j%3==0)
{
if(5*x+3*i+j/3==n) //无需判断j+x+i是否等于n,直接判断价格
{
cout" "" "endl;
c=1;
}
}
}
}
if(c==0)
{
cout"No Answer.";
}
return 0;
}
这是一个相对容易想到的思路,但是可以大大提高代码的时间,但是此时的n的范围只有2000以内,还是相对来说比较小的,可是百钱买百鸡(3)可就没有那么简单了,来看题
我们看到这道题目有了明显的变化,从求方法变成了求个数,可是更明显的变化是n的范围扩大了五万倍,这让原来的代码根本无法在1秒中适应这么大的数据范围,给大家留一周的时间去想这题的正解,下周解答哦