/*TASK: milk3LANG: C++SOLVE: 倒水,dfs,枚举每一种倒法,ca[i][j]记录a和c桶的状态,因为总体积不变,故b的状态不需要记录。 */#include#include #include #include using namespace std;int a,b,c;bool ca[30][30];void dfs(int na,int nb,int nc){// printf("%d %d %d\n",na,nb,nc); if(ca[na][nc])return; ca[na][nc]=1; dfs(max(na+nb-b,0),min(b,na+nb),nc);//a->b dfs(min(a,na+nb),max(na+nb-a,0),nc);//b->a dfs(max(na+nc-c,0),nb,min(c,na+nc));//a->c dfs(min(a,na+nc),nb,max(na+nc-a,0));//c->a dfs(na,max(nc+nb-c,0),min(c,nc+nb));//b->c dfs(na,min(nc+nb,b),max(nc+nb-b,0));//c->b}int main(){ freopen("milk3.in","r",stdin); freopen("milk3.out","w",stdout); scanf("%d%d%d",&a,&b,&c); dfs(0,0,c); int ok=0; for(int i=0;i<=c;i++) if(ca[0][i]){ if(ok) printf(" "); printf("%d",i); ok=1; } puts(""); return 0;}