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 |
我把主函数去了,就是读入出问题,HELP………………In Reply To:这是完整的程序:(RE的) Posted by:rruucc at 2003-11-07 08:53:48 > #include<stdio.h> > #include<string.h> > #define MaxN 101 > #define integer short > > int n,l; > integer map[MaxN][MaxN][MaxN],c[MaxN*MaxN*MaxN]; > int t[MaxN*MaxN*MaxN]; > > void swap(integer &a,integer &b) > { integer c=a; > a=b; b=c; > } > > void init() > { int i,j,k,x,y,z,tmp; > scanf("%d",&n); l=n*n*n; > for (i=0; i<n; i++) > for (j=0; j<n; j++) > for (k=0; k<n; k++) > {scanf("%d",&tmp); map[k][j][i]=integer(tmp); > if (map[k][j][i]==0) {x=i; y=j; k=z;} > } > while (x<n-1) > {swap(map[x][y][z],map[x+1][y][z]); x++;} > while (y<n-1) > {swap(map[x][y][z],map[x][y+1][z]); y++;} > while (z<n-1) > {swap(map[x][y][z],map[x][y][z+1]); z++;} > for (i=0; i<l; i++) > {j=i; x=j%n; > j/=n; y=j%n; > j/=n; z=j; > c[i]=map[x][y][z]; > } > } > > int lowbit(int p) > {return p&(p^(p-1));} > > int get_t(int s,int e) > { int p=s,tmp=0; > while (p<=e) > {tmp+=t[p]; p+=lowbit(p);} > return tmp; > } > > void insert(int p) > {while (p>=1) > {t[p]++; p-=lowbit(p);} > } > > void search() > { int i; > __int64 d=0; > memset(t,0,sizeof(t)); > for (i=0; i<l-1; i++) > {d+=get_t(c[i]+1,l); > insert(c[i]); > } > if (d%2==0) printf("Puzzle can be solved.\n"); > else printf("Puzzle is unsolvable.\n"); > } > > int main() > { int testdata,i; > scanf("%d",&testdata); > for (i=0; i<testdata; i++) > {init(); > // search(); > } > return 0; > } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator