| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
3414已解决#include<iostream>
using namespace std;
struct pot
{
int a,b,n,c[10205];
}key[10205];
void copy(int e[],int f[])
{
for(int ii=0;ii<10205&&f[ii]!=0;ii++)
e[ii]=f[ii];
}
void hh(int x1,int x2,int i,int &j,int nn,int k[][105])
{
key[j].a=x1;key[j].b=x2;
k[x1][x2]=1;
copy(key[j].c,key[i].c);
key[j].c[key[i].n]=nn;
key[j++].n=key[i].n+1;
}
int main()
{
int A,B,C,i,j,x,x1,x2,k[105][105];
while(scanf("%d%d%d",&A,&B,&C)!=EOF)
{
if(C==0) printf("0\n");
else if(A==C) printf("1\nFILL(1)\n");
else if(C==B) printf("1\nFILL(2)\n");
else if(A<0||B<0||C<0) printf("impossible\n");
else
{
for(i=0;i<105;i++)
memset(k[i],0,sizeof(k[i]));
key[0].a=0;
key[0].b=0;
key[0].n=0;
memset(key[0].c,0,sizeof(key[0].c));
i=0;
j=1;
x1=0;
x2=0;
while(i<j&&i<10205)
{
if(key[i].a!=A)
{
x1=A;
x2=key[i].b;
}
if(!k[x1][x2]) hh(x1,x2,i,j,1,k);
if(key[i].a!=0)
{
x1=0;
x2=key[i].b;
}
if(!k[x1][x2]) hh(x1,x2,i,j,2,k);
if(key[i].a!=0&&key[i].b!=B)
{
x=key[i].b+key[i].a;
x2=(x<B)?x:B;
x1=key[i].a-x2+key[i].b;
}
if(x1==C||x2==C)
{
key[i].c[key[i].n]=3;
break;
}
if(!k[x1][x2]) hh(x1,x2,i,j,3,k);
if(key[i].b!=B)
{
x1=key[i].a;
x2=B;
}
if(!k[x1][x2]) hh(x1,x2,i,j,4,k);
if(key[i].b!=0)
{
x1=key[i].a;
x2=0;
}
if(!k[x1][x2]) hh(x1,x2,i,j,5,k);
if(key[i].a!=A&&key[i].b!=0)
{
x=key[i].b+key[i].a;
x1=(x<A)?x:A;
x2=key[i].b-x1+key[i].a;
}
if(x1==C||x2==C)
{
key[i].c[key[i].n]=6;
break;
}
if(!k[x1][x2]) hh(x1,x2,i,j,6,k);
i++;
}
if(x1==C||x2==C)
{
printf("%d\n",key[i].n+1);
for(int ii=0;ii<=key[i].n;ii++)
{
switch(key[i].c[ii])
{
case 1:printf("FILL(1)\n");break;
case 2:printf("DROP(1)\n");break;
case 3:printf("POUR(1,2)\n");break;
case 4:printf("FILL(2)\n");break;
case 5:printf("DROP(2)\n");break;
case 6:printf("POUR(2,1)\n");break;
}
}
}
else printf("impossible\n");
}
}
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator