这有一道非常基础的枚举:
有3种不同的怪兽:爬虫族怪兽有3个头8条腿,海龙族怪兽有2个头3条腿,鸟兽族怪兽有1个头2条腿。已知一共x个头y条腿。最多可能有多少只怪物?最少可能有多少只怪物?(来自小猴编程)
#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
int x,y;
scanf("%d%d",&x,&y);
int minn=2e9,maxn=-2e9;
for(int pc=0;pc<=x/3;pc++)
{
for(int hl=0;hl<=(x-pc*3)/2;hl++)
{
int ns = x-hl*2-pc*3;
if(ns*2+hl*3+pc*8==y)
{
maxn = max(ns+pc+hl,maxn);
minn = min(ns+pc+hl,minn);
}
}
}
printf("%d\n%d",maxn,minn);
return 0;
}
贴个枚举的代码(虽然没啥用)
想问一下这道题可以用 dfs 做吗(我知道比枚举麻烦),有没有大佬能解答一下,能贴代码最好