voilet
分子暗云

精华
0
积分 780
帖子 40
经验 297 点
威望 0 点
星币 169 ¥
恋人
单身
门派 没有门派
阅读权限 20
注册 2007-3-9
|
 第 1 楼
|
钢哥算法——第十期
栏目简介:从第十期开始我们推出这个编程互动栏目,邀请林永钢老师担当本栏特约主持人。林老师每期会为我们出一个编程小题目。感兴趣的同学可以把你的算法或者实现的源代码发到九歌的邮箱:ourjiuge@163.com.我们每期都将评选出一个最佳程序公布在该期的下一期报纸上,并且有精美礼品赠送。欢迎大家踊跃参与。来稿请附带源程序(有必要的注释)和算法说明。截稿日期:2008年3月
第十期题目:
宝葫芦被放在一个城堡里。城堡由n*m个格子组成,你只能从当前所在的格子跳到相邻的4个格子之一,而且不能跳出城堡的范围。城堡中某些格子里有弹簧,每个弹簧具有一个特定能量p,不同弹簧的p值不一定相同。如果你跳到一个有弹簧的格子,就会立刻沿着原来的运动方向继续跳p格,如果跳到的格子又有弹簧,就马上继续跳,直到跳到一个空的格子或者被墙所阻挡无法继续前行。聪明的你能否最快找到宝葫芦?
输入:
第一行有两个整数,n和m (3 £ n, m £ 100),分别是城堡的行数和列数。其后是一个非负整数k,表示弹簧的个数。在接下来的k行中,每行有三个正数x, y, p,x和y是弹簧的坐标(2 £ x £ n -1 , 2 £ y £ m -1),p是弹簧的能量。在下面两行里,分别是你和宝葫芦的坐标。最后以0表示输入文件的结束。已知你、宝葫芦和弹簧的初始位置都不同。输入文件是jiuge.in。
输出:(采用标准输出的形式。)
最少的步数,或者“不可能”。
输入示例:
10 10
1
2 7 5
2 8
1 1
0
输出示例:
3
[ 本帖最后由 voilet 于 2008-1-22 15:50 编辑 ]
|
|
| [广告] |
|