Java蓝桥杯算法题
问题描述一个叫Andy的小朋友在一个正方形的沙漠中迷路了,身边的水也喝完了。Andy知道自己要渴死了,闲得无聊,所以他开始计算一些有趣的问题。
这个沙漠是由一个n*n的网格图构成的,当你站在某一个格子时,你可以走向周围八个格子中的一个。然而,沙漠中的某些格子有毒蛇,你必须避开他们,某些格子有水源,水源就是生命。
现在,Andy希望计算出每个格子到最近的水源的距离。你只需计算出所有距离的和即可。
输入格式
输入的第一行包含三个整数n, m,p,n表示沙漠的边长。m表示毒蛇的个数,p表示绿洲的个数。
接下来m行,输入m个毒蛇的坐标。一行一个
在接下来p行,输入p个绿洲的坐标。一行一个
输出格式
输出一个数,表示沙漠中每个坐标上避开毒蛇,找到绿洲的最短路径长度之和。
若坐标上有毒蛇,或无法从此坐标出发找到绿洲,长度记为-1.
若此坐标上有绿洲,长度记为0.
样例输入
3 1 2
2 1
1 3
3 2
样例输出
6
评测用例规模与约定
对于60%的数据,0<p<=5。
对于100%的数据,0<n<=3000, 0<p<=3000。