Problem1900--普及组模拟赛三D暑期旅游

1900: 普及组模拟赛三D暑期旅游

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MB

Submit

Description

    小 S 趁暑假之余,约上小 W 一起游玩家乡的 SL 公园。该公园共有 n 个景点,根据
每个景点的好玩程度将 n 个景点依次编号为 1 到 n(没有重复,数值越大越好玩)。公
园中共有 m 条路,任意两个景点之间最多只有一条路(也有可能没有)。现在小 S 和小
W 都从 1 号景点同时出发进行游玩。为了增加游玩的乐趣,他们在游玩的过程需要满足
两个要求:
    (1)必须从好玩程度低的景点向好玩程度高的景点游玩,即行走的路线必须从编
            号小的景点向编号大的景点前进。
    (2)他们最后必须到达最好玩的景点 n,然后离开景区。
    由于他们两个人的步行速度不一样,所以从景点 x 到景点 y 的过程中,可能耗费时
间是不一样的。另外小 S 和小 W 在景点游玩的时间可以忽略不计。
    请编程计算小 S 和小 W 同时到达景点 n 所耗费的最短时间。

Input

    第一行包含两个整数,分别为 n 和 m。
    接下来 m 行描述道路情况及两个人的行走耗时情况。每一行给出四个整数 x、y、a、
b,依次表示景点 x 和景点 y 之间有一条路,小 S 需要耗费 a 个单位时间来走完这条路,
而小 W 需要耗费 b 个单位时间。

Output

输出一个整数。即小 S 和小 W 同时出发且同时到达景点 n 所耗费的最短时间。
如果无法到达景点 n 或者无法同时到达景点 n,则输出“IMPOSSIBLE”。

Sample Input Copy

样例输入1:
3 3
1 3 2 4
1 2 2 4
2 3 2 4

样例输入2:
3 3
1 3 1 2
1 2 1 3
2 3 2 6

Sample Output Copy

样例输出1: 4

样例输出2: IMPOSSIBLE

HINT

【样例 1 说明】
    小 S 的行走路线 1->2->3 小 W 的行走路线 1->3 ,所耗费的时间都是 4。
【数据范围】
    4 个测试数据点满足 1 ≤ n ≤ 10;
    全部测试数据点满足 1 ≤ n ≤ 100,1 ≤ a,b ≤ 100。

Source/Category