P1215 母亲的牛奶

https://www.luogu.org/problem/show?pid=1215#sub
暴力模拟多种情况。我是用搜索写的,注意返回条件和约束条件。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<vector>
#include<algorithm>
using namespace std;
int a,b,c;
int ans[1000],l;
bool f[50][50][50];
void dfs(int x,int y,int z)
{
    if(f[x][y][z]) return;
    if(x==0) ans[++l]=z;
    f[x][y][z]=1;

    dfs(x-min(x,b-y),y+min(x,b-y),z);
    dfs(x+min(y,a-x),y-min(y,a-x),z);
    dfs(x+min(z,a-x),y,z-min(z,a-x));
    dfs(x-min(x,c-z),y,z+min(x,c-z));
    dfs(x,y-min(y,c-z),z+min(y,c-z));
    dfs(x,y+min(z,b-y),z-min(z,b-y));
    return;
}
int main()
{
    scanf("%d%d%d",&a,&b,&c);
    dfs(0,0,c);
    sort(ans+1,ans+l+1);
    for(int i=1;i<=l;i++)
      printf("%d ",ans[i]);
    return 0;
}
原文地址:https://www.cnblogs.com/dfsac/p/7587915.html