立方体之塔 10051
来源:互联网 发布:js滚动条显示隐藏事件 编辑:程序博客网 时间:2024/04/30 05:07
color[n][0]存当前最底面颜色为n时能摆成最高的塔,color[n][1],color[n][2]存的是此塔底的位置,输出结果时的front、back这些指的是当前木块的上面
#include<stdio.h>#include<string.h>int n;int color[111][3],max[3],tmp[111][3];struct node{int s,x,qi,qj;}cube[512][6];int main(){int i,j,k,l,m;for(m=1;;m++){scanf("%d",&n);if(!n)break;memset(cube,0,sizeof(cube));memset(color,0,sizeof(color));memset(max,-1,sizeof(max));for(i=1;i<=n;i++){for(j=0;j<6;j=j+2){int a,b;scanf("%d %d",&a,&b);cube[i][j].s=b;cube[i][j].x=a;cube[i][j+1].s=a;cube[i][j+1].x=b;}}for(j=0;j<6;j++){int di=cube[1][j].x;color[di][0]=1;color[di][1]=1;color[di][2]=j;max[0]=1;max[1]=1;max[2]=j;}for(i=2;i<=n;i++){int ding,di;memcpy(tmp,color,sizeof(color));for(j=0;j<6;j++){ding=cube[i][j].s;di=cube[i][j].x;if(color[ding][0]+1>color[di][0]&&color[ding][1]!=i){if(color[ding][0]+1>=tmp[di][0]){tmp[di][1]=i;tmp[di][2]=j;cube[i][j].qi=color[ding][1];cube[i][j].qj=color[ding][2];tmp[di][0]=color[ding][0]+1;if(tmp[di][0]>max[0]){max[0]=tmp[di][0];max[1]=tmp[di][1];max[2]=tmp[di][2];}}}}memcpy(color,tmp,sizeof(tmp));}printf("Case #%d\n",m);printf("%d\n",max[0]);int path[511][2],count=0;path[count][0]=max[1];path[count][1]=max[2];int pi=max[1],pj=max[2];while(pi!=0){int ti,tj;ti=pi;tj=pj;count++;pi=cube[ti][tj].qi;pj=cube[ti][tj].qj;path[count][0]=pi;path[count][1]=pj;}for(i=max[0]-1;i>=0;i--){printf("%d ",path[i][0]);if(path[i][1]==1)printf("front\n");else if(path[i][1]==0)printf("back\n");else if(path[i][1]==3)printf("left\n");else if(path[i][1]==2)printf("right\n");else if(path[i][1]==5)printf("top\n");else if(path[i][1]==4)printf("bottom\n");}printf("\n");}return 0;}
- 立方体之塔 10051
- UVa Problem 10051 Tower of Cubes (立方体之塔)
- OpenGL 核心技术之立方体贴图
- css3之3D立方体
- 立方体
- 图像处理之-----RGB颜色立方体源代码。
- unity3d碰撞检测之立方体碰撞算法
- 自定义LoadingView大全之转动立方体
- WebGL之旅(十八) 点选立方体
- 纯CSS3动画之旋转的立方体
- uva10051(dp 立方体塔, 拆分)
- CATransform3D 矩阵变换之立方体旋转实现细节
- CATransform3D 矩阵变换之立方体旋转实现细节
- CATransform3D 矩阵变换之立方体旋转实现细节 .
- CATransform3D 矩阵变换之立方体旋转实现细节
- CATransform3D 矩阵变换之立方体旋转实现细节
- CATransform3D 矩阵变换之立方体旋转实现细节
- CATransform3D 矩阵变换之立方体旋转实现细节
- html 不让输入框停留光标
- java如何实现安全性
- Mplayer--play.c
- mongodb下数据的导出和导入
- iPhone开发【十四】多线程开发之NSThread——子线程模拟耗时操作
- 立方体之塔 10051
- ASP.NET Forms身份认证
- 网络编程
- ASP.NET调用V3版本的Google Maps API
- JAVA线程池介绍
- poj 1456 Supermarket
- C/C++中extern关键字详解
- 各类数据在内存中的存放形式的问题
- 英语音节