本文共 923 字,大约阅读时间需要 3 分钟。
三维的,思路和以前的是一样的,不过最初没注意到head和rear没初始化,SF了好几次(我以为是数组开小了呢,一直开大100W都还是错,后来才发现。。。。。。)
那个用循环来控制情况的方法用着很爽,6种情况弄个循环搞定,呵呵,不错不错。。。
#include#include typedef struct { int s1[1000000]; int s2[1000000]; int s3[1000000];}queue;queue que;int head,rear;void In(int x,int y,int z){ que.s1[rear]=x; que.s2[rear]=y; que.s3[rear]=z; rear++;}void Out(int *x,int *y,int *z){ *x=que.s1[head]; *y=que.s2[head]; *z=que.s3[head]; head++;}int isEmpty(){ if(head==rear) return 1; else return 0;} int main(){ int i,j,k,v1,v2,v3,x1,y1,z1,x2,y2,z2,p1,p2,p3,m,temp; int count[35][35][35],sta[35][35][35]; int t1[6]={0,0,0,0,1,-1}; int t2[6]={1,-1,0,0,0,0}; int t3[6]={0,0,1,-1,0,0}; char a[35][35][35]; scanf("%d%d%d",&v1,&v2,&v3); while(!(v1==0&&v2==0&&v3==0)) { getchar(); for(i=0;i =0&&i =0&&j =0&&k
转载地址:http://kosfb.baihongyu.com/