SP2272 DESERT - Crossing the Desert
题目描述
在一个二维平面沙漠中,有 $n(1\le n\le 20)$ 个绿洲,给定绿洲的坐标,每一个绿洲只有无限多的水源可以获取使用,食物可以从点 $1$ 带过来存放,但是绿洲本身没有食物可以获取。每走 $1$ 单位长度将会损耗 $1$ 单位水和食物,身上负重最多 $W$ 。你可以携带一部分食物放置在绿洲,然后走回点 $1$ 再带食物过来存放。问要走到点 $n$ ,最少要从点 $1$ 中购买多少单位食物。
输入格式
题目包含**多组测试数据**。
每组测试数据第一行两个整数 $n,W$ ,表示绿洲的个数和负重上限。
接下来 $n$ 行,每行两个整数 $x_i,y_i$ ,表示第 $i$ 个绿洲的坐标。
当 $n=W=0$ 时结束。
输出格式
对于第 $i$ 组数据,每组数据输出一行,先输出 "Trail i: "。
如果能成功从点 $1$ 到达点 $n$ ,设最少要从点 $1$ 中购买 $d$ (整数)单位食物,则输出 "d units of food"。否则输出 "Impossible"(均不带引号)。
### 输入输出样例
#### 输入#1
```
4 100
10 -20
-10 5
30 15
15 35
2 100
0 0
100 100
0 0
```
#### 输出#1
```
Trial 1: 136 units of food
Trial 2: Impossible
```