10051 - Tower of Cubes (二)

2014-11-24 02:51:49 · 作者: · 浏览: 9
else c=l-1;
if(p[k]>=v[j][c].sum) continue;
q[k]=l;
flag[k][0]=j;
flag[k][1]=c;
p[k]=v[j][c].sum;
}
for(int j=0; j<6; j++)
{
v[i][j].sum+=p[j];
v[i][j].x=flag[j][0];
v[i][j].y=flag[j][1];
v[i][j].no=q[j];
if(v[i][j].sum>sum)
{
sum=v[i][j].sum;
m[0]=i;
m[1]=j;
}
}
}
printf("Case #%d\n%d\n",++t,sum);
int c,a=m[0],b=m[1];
if(m[1]%2==0) c=m[1]+1;
else c=m[1]-1;
printf("%d %s\n",m[0]+1,str[c]);
c=v[a][b].no;
m[0]=v[a][b].x;
m[1]=v[a][b].y;
while(1)
{
if(m[1]==-1||m[0]==-1) break;
printf("%d %s\n",m[0]+1,str[c]);
a=m[0],b=m[1];
c=v[a][b].no;
m[0]=v[a][b].x;
m[1]=v[a][b].y;
}
}
return 0;
}