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 |
Re:为什么h8 a1过不去??从小数据到大数据能过,大数据到小数据过不去,大牛指点In Reply To:为什么h8 a1过不去??从小数据到大数据能过,大数据到小数据过不去,大牛指点 Posted by:bootshl at 2008-06-11 12:06:13 > /******************************************************************* > **author:LiangHong > **date:2008.6.11 > **describe:pku2243 > *******************************************************************/ > > #include <stdio.h> > #include <stdlib.h> > #include <string.h> > int used[50][50], x2, y2; > char a[3], b[3]; > int d[8][2]={{-1,-2},{-1,2},{-2,1},{-2,-1},{2,1},{2,-1},{1,2},{1,-2}}; > typedef struct { > int x; > int y; > int moves; > }point; > point queue[10000]; > void bfs(int x1,int y1); > > int main(void) > { > int i, j, x1, y1, t; > > while (scanf("%s%s", a, b) != EOF) { > for (i = 1; i <= 8; i++) > for (j = 'a'-'a'; j <= 'h'-'a'; j++) > used[i][j] = 1; > memset(queue, 0, sizeof(point)*1000); > x2 = b[0]-'a'; > y2 = b[1]-'1'; > x1 = a[0]-'a'; > y1 = a[1]-'1'; > if (x1 > x2) { > t = x1; > x1 = x2; > x2 = t; > t = y1; > y1 = y2; > y2 = t; > } > bfs(x1, y1); > } > return 0; > > } > > void bfs(int x1,int y1) > { > int tx, ty, k, cx, cy, i; > point temp; > int head = 0, tail = 1; > queue[0].x = x1; > queue[0].y = y1; > queue[0].moves = 0; > i = 0; > while(head < tail) > { > cx=queue[head].x; > cy=queue[head].y; > head++; > if (cx == x2 && cy == y2) { > break; > } > for(k = 0; k < 8; k++) > { > tx = cx + d[k][0]; > ty = cy + d[k][1]; > temp.x = tx; > temp.y = ty; > temp.moves = queue[i].moves+1; > if(tx >= 0 && tx <= 8 && ty >= 'a'-'a' && ty <= 'h'-'a' && used[tx][ty]) > { > queue[tail].x = temp.x; > queue[tail].y = temp.y; > queue[tail].moves = temp.moves; > tail++; > used[tx][ty] = 0; > } > } > i++; > } > printf("To get from %s to %s takes %d knight moves.\n", a, b, queue[i].moves); > } 先感謝你一下看了你的我才改正并ac了,我是因為數組沒有清零,估計你的也是吧 Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator