AT_joisc2014_e.水筒

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

JOI 君所居住的 IOI 市以一年四季都十分炎热著称。

IOI 市被分成 HH 行,每行包含 WW 块区域。每个区域都是建筑物、原野、墙壁之一。

IOI 市有 PP 个区域是建筑物,坐标分别为 (A1,B1),(A2,B2),…,(AP,BP)(A_1,B_1),(A_2,B_2),\dots,(A_P,B_P)。

JOI 君只能进入建筑物与原野,而且每次只能走到相邻的区域中,且不能移动到市外。

JOI 君因为各种各样的事情,必须在各个建筑物之间往返。虽然建筑物中的冷气设备非常好,但原野上太阳非常毒辣,因此在原野上每走过一个区域都需要 1 升水。此外,原野上没有诸如自动售货机、饮水处之类的东西,因此 IOI 市的市民一般都携带水壶出行。大小为 xx 的水壶最多可以装 xx 升水,建筑物里有自来水可以将水壶装满。

由于携带大水壶是一件很困难的事情,因此 JOI 君决定携带尽量小的水壶移动。因此,为了随时能在建筑物之间移动,请你帮他写一个程序来计算最少需要多大的水壶。

现在给出 IOI 市的地图和 QQ 个询问,第 ii 个询问包含两个整数 Si,TiS_i,T_i,对于每个询问,请输出:要从建筑物 SiS_i 移动到 TiT_i,至少需要多大的水壶?

H,W≤2000H,W\le2000,P,Q≤2×105P,Q\le2\times10^5,1≤Si,Ti≤P1\le S_i,T_i\le P。

输入格式

第一行四个空格分隔的整数 H,W,P,QH,W,P,Q。

接下来 HH 行,第 ii 行有一个长度为 WW 的字符串,每个字符都是 . 或 # 之一,. 表示这个位置是建筑物或原野,# 表示这个位置是墙壁。

接下来 PP 行描述 IOI 市每个建筑物的位置,第 ii 行有两个空格分隔的整数 AiA_i 和 BiB_i ,表示第 ii 个建筑物的位置在第 AiA_i 行第 BiB_i 列。保证这个位置在地图中是 .。

接下来 QQ 行,第 ii 行有两个空格分隔的整数 Si,TiS_i ,T_i。

输出格式

输出 QQ 行,第 ii 行一个整数,表示要从建筑物 SiS_i 移动到 TiT_i,至少需要多大的水壶。

如果无法到达,输出 -1。如果不需要经过原野就能到达,输出 0。

输入输出样例

  • 输入#1

    5 5 4 4
    .....
    ..##.
    .#...
    ..#..
    .....
    1 1
    4 2
    3 3
    2 5
    1 2
    2 4
    1 3
    3 4
    

    输出#1

    3
    4
    4
    2
    
  • 输入#2

    5 5 3 2
    ...#.
    ..#..
    #....
    .##..
    ...#.
    1 3
    5 2
    1 5
    1 2
    1 3
    

    输出#2

    -1
    7

说明/提示

H,W≤2000H,W\le2000,P,Q≤2×105P,Q\le2\times10^5,1≤Si,Ti≤P1\le S_i,T_i\le P。

输入解题思路,AI测评打分。不知道怎么写?

首页