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 |
求牛人指点一下我到底那里错了!#include<stdio.h> #include<string.h> typedef struct { int x,y,next; }POINT; int yy[8]={1,2,2,1,-1,-2,-2,-1}; int xx[8]={-2,-1,1,2,2,1,-1,-2}; int main() { int n,l,first,last,i,s_x,s_y,e_x,e_y,count,a[300][300],col,row; POINT b[10000]; freopen("input.txt","r",stdin); scanf("%d",&n); while(n--) { scanf("%d",&l); scanf("%d %d",&s_x,&s_y); scanf("%d %d",&e_x,&e_y); memset(a,0,sizeof(a)); first=last=0; count=0; b[0].x=s_x; b[0].y=s_y; a[0][0]=1; while(1) { if(b[first].x==e_x&&b[first].y==e_y)break; else { for(i=0;i<8;i++) { row=b[first].x+xx[i]; col=b[first].y+yy[i]; if(col<l&&col>=0&&row<l&&row>=0&&a[row][col]==0) { last=last+1; b[last].x=b[first].x+xx[i]; b[last].y=b[first].y+yy[i]; b[last].next=first; a[row][col]=1; } } first=first+1; } } i=first; while(!(b[i].x==s_x&&b[i].y==s_y)) { i=b[i].next; count++; } printf("%d\n",count); } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator