2010年下半年每周集训之个人练习赛3解题报告

2010个人练习赛3-C题Robot Paths解题报告-by baiyuang

题目去掉马甲,就是求S到大E的最短路径,并记录下来。

pre初始化为-1,然后bfs搜索,把这一步走的方向赋给op,pre为走到该方向的前一个方向在队列中的位置,最后从后向前找到方向,赋值给ans数组,逆置ans得到最短路径。

核心代码:

typedef struct
{
int x, y;
char op;//此刻方向
int pre;//到达op方向,在队列中的位置

}Robot;


void Path(int k)
{
int len = 0;
while(que[k].pre != -1)
{
ans[len++] = que[k].op;
k = que[k].pre;
}
strrev(ans);
}


tt.op = dir[i][2];
tt.pre = head-1;


为解题报告打分
暂时不评分

★★
★★★
★★★★
★★★★★
发表您的评论(若贴AC代码或发表禁止言论等违禁行为将被删除并扣除积分)

|返回 |   | 转到页头|
Copyright @ 2008-2024(浙ICP备2022001332号), TZOJ. All Rights Reserved.