CFCF1520G.To Go Or Not To Go?
普及+/提高
官方
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个 n×m 的网格,每个格子 (i,j) 都有一个整数参数 aij(−1≤aij≤109) ,
aij=−1 表示这个格子不能通过;否则,这个格子可以通过,若 aij>0 则表示这个格子内有一个传送门。
现在小D想要从 (1,1) 移动到到 (n,m) ,它可以以如下两种方式移动:
- 在任意两个相邻且参数均不为−1的格子间移动,花费为 w ;
- 在有传送门的两个格子 (i,j) 和 (x,y) 间移动,花费为 aij+axy 。
求小D所需的最小花费。
输入格式
第一行输入三个整数 n,m,w (1≤n,m≤2×103 ,1≤w≤109) 。
接下来 n 行,每行 m 个数,第 i 行的第 j 个数表示 aij 。
输出格式
输出小D的最小花费。若她无法由 (1,1) 行到 (n,m) ,输出 −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