#CSPR10D. [CSP复赛模拟第10套-D题] 抓鱼

    ID: 9990 传统题 1000ms 512MiB 尝试: 0 已通过: 0 上传者: 标签>编程题c++CSPCSP复赛CSP模拟练习CSP复赛模拟第10套第10套-D题

[CSP复赛模拟第10套-D题] 抓鱼

抓鱼

题目描述

小珅来到了一个大水塘抓鱼。可以把大水塘看作是一个 nnmm 列的二维字符数组。第 xx 行第 yy 列的字符是 ax,ya_{x,y}。如果字符是 . 则表示是在正常水域,如果字符是 @ 则表示有大石头不能通行。

小珅初始在第 x1x_1y1y_1 列。他要抓的鱼在第 x2x_2y2y_2 列。他每次移动可以往上下左右四个方向之一走 1k1 \sim k 步(假设走了 tt 步,则必须保证包括起点和终点及路程中的所有点这 t+1t+1 个位置都不能是大石头)。请问他最少几次移动可以到达鱼的位置。如果无法走到,输出 1-1

输入格式

第一行三个整数 n,m,kn, m, k

第二行四个整数 x1,y1,x2,y2x_1, y_1, x_2, y_2

接下来 nn 行每行 mm 列,第 ii 行第 jj 列为 ai,ja_{i,j}

输出格式

输出一个整数,即小珅最少几次移动可以到达鱼的位置。如果无法走到,输出 1-1

输入输出样例

输入 #1


3 5 2
3 3 3 5
@....
..@@.
@..@.

输出 #1


5

输入 #2


7 7 4
1 1 7 7
.......
.......
.......
.......
.......
.......
.......

输出 #2


4

输入 #3


7 7 4
1 1 7 7
.......
.......
.......
.....@.
....@.@
....@..
.....@.

输出 #3


-1

说明/提示

对于 100%100\% 的数据:

1n,m,k1061 \le n, m, k \le 10^6

1n×m1061 \le n \times m \le 10^6

1x1,x2n1 \le x_1, x_2 \le n1y1,y2m1 \le y_1, y_2 \le m

x1x2x_1 \ne x_2y1y2y_1 \ne y_2

ai,ja_{i,j} 为 . 或 @

保证 ax1,y1a_{x_1,y_1}ax2,y2a_{x_2,y_2} 都不是 @

子任务 111010 分):保证 n=1n = 1

子任务 222020 分):保证 n,m1000n, m \le 1000k=1k = 1

子任务 333030 分):保证 k=1k = 1

子任务 444040 分):没有特殊限制。