loj#P2763. 「JOI 2013 Final」 现代豪宅
「JOI 2013 Final」 现代豪宅
题目描述
题目译自 JOI 2013 Final T3「現代的な屋敷」
你在某个很大的豪宅里迷路了。这个豪宅由东西方向 列,南北方向 行的正方形房间组成。从西面开始第 列 ,从南面开始第 行 的房间用 表示。
相邻的两个房间之间都有一扇门。对于每扇门,门关上表示不可通行,门打开表示可以通行。当门打开时,从门一边的房间走到另一边的房间需要 分钟。另外,一些房间中有一个开关,如果连续 分钟按住这个开关,那么所有关上的门会打开,所有打开的门会关闭。
现在,连接东西两个房间的门全都是关上的,连接南北两个房间的门全都是打开的。你现在在房间 ,要在最短时间内移动到房间 。
任务
给出豪宅的大小 ,以及存在开关的 个房间的位置 。开始时,连接东西两个房间的门全都是关上的,连接南北的两个房间全都是打开的。请编写程序求出从房间 移动到房间 最少需要多少时间。不过,当房间 不能到达时,请输出 。
输入格式
输入标准如下:
- 第一行为三个以空格分开的整数 。 表示东西方向上房间的个数, 表示南北方向上房间的个数, 表示存在开关的房间的个数。
- 接下来 行中的第 行 为两个以空格分开的整数 。表示房间 中存在开关。这 个二元组 间彼此相异。
输出格式
输出一行一个整数:表示移动所需的最短时间。如果不能到达房间 则输出 。
3 2 1
1 2
4
3 2 1
2 1
-1
8 9 15
3 1
3 2
3 7
3 8
1 1
4 5
4 3
5 6
5 8
6 3
6 2
7 5
8 9
8 6
8 5
25
数据范围与提示
对于所有数据, 。
子任务编号 | 分值 | 附加限制 |
---|---|---|
1 | 20 | |
2 | 30 | |
3 | 50 | 无 |