4 人解决,23 人已尝试。
6 份提交通过,共有 77 份提交。
9.1 EMB 奖励。
单点时限: 2.0 sec
内存限制: 256 MB
在一个 m*n 的平面上,在每一行中有一条线段,第 i 行的线段的左端点是 (i, L(i)),右端点是 (i, R(i)),其中 1 ≤ L(i) ≤ R(i) ≤ n。
Seamild 从 (1, 1) 点出发,要求沿途走过所有的线段,最终到达 (m, n) 点,且所走的路程长度要尽量短。更具体一些说,Seamild 在任何时候只能选择向下走一步(行数增加 1)、向左走一步(列数减少 1)或是向右走一步(列数增加 1)。当然,由于 Seamild 不能向上行走,因此在从任何一行向下走到另一行的时候,Seamild 必须保证已经走完本行的那条线段。
输入的第一行有两个整数 m,n(1<=m,n<=10000),以下 m 行,在第 i 行(总第 (i+1) 行)的两个整数表示 L(i) 和 R(i)。
输出仅包含一个整数,Seamild 选择的最短路程的长度。
6 6 2 6 3 4 1 3 1 2 3 6 4 5
24 Hint: 输入的平面和线段如下图: Seamild选择的路线是 (1,1) → (1,6) → (2,6) → (2, 3) → (3, 3) → (3, 1) → (4, 1) → (4, 2) → (5, 2) → (5, 6) → (6, 6) → (6, 4) → (6, 6) 不难计算得到,路程的总长度是24。
4 人解决,23 人已尝试。
6 份提交通过,共有 77 份提交。
9.1 EMB 奖励。
创建: 16 年,7 月前.
修改: 7 年,3 月前.
最后提交: 12 年,1 月前.
来源: N/A