#P1003. 抄近路

    ID: 4 problem_type.default 1000ms 512MiB Tried: 0 맞았습니다.: 0난이도: 普及 ← 上一题 下一题 → 随机一题 아이디: 标签 动态规划 DP 线性 DP 递推 图论 最短路
显示设置

抄近路

题目描述

小W每天都要从家去学校上学,小区被道路分成许多正方形的块,共有 n×mn \times m 块,一般情况下,小区内的方块建有房屋,只能沿着附近的街道行走,有时方块表示公园,那么就可以直接穿过。

但是今天情况有些特殊,今天这 n×mn \times m 个方块中的所有方块都能走,且有 kk 个方块允许直接沿着对角线穿过去,他的起始位置在方块中坐标 (1,1)(1, 1) 的位置,需要走到 (n,m)(n,m) 的位置,每个正方形的边长为 100100 米。

现在他想知道从起始点走到终点的最短距离。

输入格式

输入共 k+2k+2 行。

第一行两个整数,表示 n,mn,m。

第二行一个整数,表示 kk。

接下来 kk 行,一行两个数 xi,yix_i,y_i,表示允许走对角线的方格的坐标。

输出格式

输出最短距离,四舍五入到整数米。

输入输出样例 #1

输入 #1

3 2
3
1 1
3 2
1 2

输出 #1

383

说明

数据范围

  • 对于 20%20\% 的数据,1≤n,m≤201 \le n, m \le 20。
  • 对于 50%50\% 的数据,1≤n,m≤1001 \le n, m \le 100。
  • 对于 100%100\% 的数据,2≤n,m≤10002 \le n, m \le 1000,1≤xi≤n1 \le x_i \le n,1≤yi≤m1 \le y_i \le m,1≤k≤min⁡(n×m,20000)1 \le k \le \min(n \times m, 20000)。