CFCF1520G.To Go Or Not To Go?

普及+/提高

官方

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个 n×mn\times{m} 的网格,每个格子 (i,j)(i,j) 都有一个整数参数 aij(1aij109)a_{ij}(-1\leq a_{ij}\leq10^9)

aij=1a_{ij}=-1 表示这个格子不能通过;否则,这个格子可以通过,若 aij>0a_{ij}>0 则表示这个格子内有一个传送门。

现在小D想要从 (1,1)(1,1) 移动到到 (n,m)(n,m) ,它可以以如下两种方式移动:

  • 在任意两个相邻且参数均不为1-1的格子间移动,花费为 ww
  • 在有传送门的两个格子 (i,j)(i,j)(x,y)(x,y) 间移动,花费为 aij+axya_{ij}+a_{xy}

求小D所需的最小花费。

输入格式

第一行输入三个整数 n,m,wn,m,w (1n,m2×103(1\leq n,m\leq2\times{10^3}1w109)1\leq w\leq10^9)

接下来 nn 行,每行 mm 个数,第 ii 行的第 jj 个数表示 aija_{ij}

输出格式

输出小D的最小花费。若她无法由 (1,1)(1,1) 行到 (n,m)(n,m) ,输出 1-1

输入输出样例

  • 输入#1

    5 5 1
    0 -1 0 1 -1
    0 20 0 0 -1
    -1 -1 -1 -1 -1
    3 0 0 0 0
    -1 0 0 0 0

    输出#1

    14
首页