📄 分酒比赛.c
字号:
int m[3],a[20][3],b[3],c[20][20][3],d[20][7],p[7];
main( )
{
int i,j,k,q,n,nm,s;
printf("请输入三个容器的容量:");
scanf("%d,%d,%d",&m[0],&m[1],&m[2]);
printf("\nFIRST=%d SECOND=%d THIRD=%d\n",m[0],m[1],m[2]);
n=0;
nm=0;
b[0]=m[0];
sub1( );
for(i=0;i<3;i++)
a[n][i]=b[i];
for(i=0;i<7;i++)
d[n][i]=p[i];
s170: sub2( );
for(i=0;i<7;i++)
d[n][i]=p[i];
if((b[0]==b[1])&&(b[0]==(m[0]/2)))
goto s405;
s185: n=n+1;
sub1( );
for(i=0;i<3;i++)
a[n][i]=b[i];
for(i=0;i<7;i++)
d[n][i]=p[i];
sub2( );
for(i=0;i<7;i++)
d[n][i]=p[i];
if((b[0]==b[1])&&(b[0]==(m[0]/2)))
goto s405;
for(i=0;i<n;i++)
if((b[0]==a[i][0])&&(b[1]==a[i][1])&&(b[2]==a[i][2]))
goto s285;
if(n<20)
goto s185;
s285: for(i=0;i<3;i++)
b[i]=a[n][i];
if(p[6]!=0)
goto s170;
s305: for(i=0;i<n-1;i++)
{ if(d[n-i][6]==0)
goto s325;
n=n-i;
goto s340;
s325:; }
goto s455;
s340: for(i=0;i<3;i++)
b[i]=a[n][i];
for(i=0;i<7;i++)
p[i]=d[n][i];
for(i=n+1;i<20;i++)
for(j=0;j<7;j++)
d[i][j]=0;
goto s170;
s405: n=n+1;
for(i=0;i<3;i++)
a[n][i]=b[i];
nm=nm+1;
for(i=0;i<n;i++)
for(j=0;j<3;j++)
c[nm][i][j]=a[i][j];
if(nm==16)
goto s455;
goto s305;
s455: printf("TOTAL METHODS=%d \n",nm);getch();
q=0;
s460: q=q+1;
for(i=0;i<4;i++)
printf(" METHOD%d ",i+(q-1)*4+1);
getch();
printf("\n");
for(j=0;j<20;j++)
{ s=0;
for(n=(q-1)*4;n<q*4;n++)
{ s=s+1;
printf(" %d",c[n][j][0]);
for(k=1;k<3;k++)
printf(" %d",c[n][j][k]);
}
printf("\n");
}
printf("\n");
if(q<(nm/4))
goto s460;
}
int sub1( )
{ int j, f;
for(j=0;j<7;j++)
p[j]=0;
f=0;
if(b[0]==0)
goto s670;
if(b[1]==m[1])
goto s650;
p[0]=1;
f=f+1;
s650: if(b[2]==m[2])
goto s670;
p[1]=1;
f=f+1;
s670: if(b[1]==0)
goto s715;
if(b[0]==m[0])
goto s695;
p[2]=1;
f=f+1;
s695: if(b[2]==m[2])
goto s715;
p[3]=1;
f=f+1;
s715: if(b[2]==0)
goto s760;
if(b[0]==m[0])
goto s740;
p[4]=1;
f=f+1;
s740: if(b[1]==m[1])
goto s760;
p[5]=1;
f=f+1;
s760: p[6]=f;
}
int sub2( )
{ if(p[0]==0)
goto s855;
if(b[0]>=m[1]-b[1])
goto s835;
b[1]=b[1]+b[0];
b[0]=0;
goto s845;
s835: b[0]=b[0]-(m[1]-b[1]);
b[1]=m[1];
s845: p[0]=0;
goto s1095;
s855: if(p[1]==0)
goto s905;
if(b[0]>=(m[2]-b[2]))
goto s885;
b[2]=b[2]+b[0];
b[0]=0;
goto s895;
s885: b[0]=b[0]-(m[2]-b[2]);
b[2]=m[2];
s895: p[1]=0;
goto s1095;
s905: if(p[2]==0)
goto s955;
if(b[1]>=(m[0]-b[0]))
goto s935;
b[0]=b[0]+b[1];
b[1]=0;
goto s945;
s935: b[1]=b[1]-(m[0]-b[0]);
b[0]=m[0];
s945: p[2]=0;
goto s1095;
s955: if(p[3]==0)
goto s1005;
if(b[1]>=(m[2]-b[2]))
goto s985;
b[2]=b[2]+b[1];
b[1]=0;
goto s995;
s985: b[1]=b[1]-(m[2]-b[2]);
b[2]=m[2];
s995: p[3]=0;
goto s1095;
s1005: if(p[4]==0)
goto s1060;
if(b[2]>=(m[0]-b[0]))
goto s1035;
b[0]=b[0]+b[2];
b[2]=0;
goto s1045;
s1035: b[2]=b[2]-(m[0]-b[0]);
b[0]=m[0];
s1045: p[4]=0;
goto s1095;
s1060: if(b[2]>=(m[1]-b[1]))
goto s1080;
b[1]=b[1]+b[2];
b[2]=0;
goto s1090;
s1080: b[2]=b[2]-(m[1]-b[1]);
b[1]=m[1];
s1090: p[5]=0;
s1095: p[6]=p[6]-1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -