登录

题目A1179:跳棋

题目描述

跳棋是我们很多人小时候喜爱的游戏,今天我们尝试改进一下这个游戏使得它更加有趣。

我们设计一个一维的,由很多格子组成的游戏空间,每个格子按照顺序编号为w(1 ≤ w≤ 1000000)。我们在这个游戏空间中可以使用跳跃的方式进行运动,但是每次跳跃的格子数必须不大于s(1 ≤ s ≤ 6),我们的最终目标是用最短的时间从起点0到达终点T(每次跳跃耗时为1)。显然,描述至此,这个问题依然很简单,所以我们现在往其中加入一些传送阵,传送阵具有方向性,也就是说传送阵可以从u传送到v,却并不意味着v能够传送到u,我们定义每次传送的时间为0。当然,作为一个有大局观的人,我们可以在跳到一个传送点后选择不传送。

输入格式

有多组测试数据。 输入的第1行是三个整数T,s和p,其中p代表传送阵的数量(1 ≤ p ≤ 40)。 输入的第2到p+1行包括两个整数a和b代表有一个传送阵可以使得我们从a点传送到b点。

输出格式

对应每组测试数据输出一个整数,代表从起点到达终点最少需要的时间。

输入样例
28 3 5
2 18 
5 13 
12 6
17 25 
20 15
50 6 1
9 45
输出样例
3
3
请选择代码的语言:

0

通过

0

提交


时间
1 Sec
内存
128 MB
上传
admin

标签分类

STl::map

统计