糖果

【问题描述】
小杨是一个大方的好孩子,有一天他拿来了许多糖果想分给他的n个小伙伴们。小杨将糖果分成m*m堆,摆成一个m*m的矩阵坐标从(1,1)到(m,m),之后每个小伙伴可以选择一堆糖果,然后从所有与这堆糖果曼哈顿距离小于等于D的糖果堆(包括这堆糖果)中取走K个糖果,若糖果堆中的糖果数量不足K,则将它们全部取走。
现在小杨知道n个小伙伴依次选择的糖果堆(用坐标(x,y)表示),请你告诉小杨每个人取了多少个糖果。
注: 对于任意两点(x1,y1),(x2,y2),它们的曼哈顿距离为|x1-y1|+|x2-y2|

【输入】
第一行四个整数 n,m,D,K,分别表示n个小伙伴,糖果矩阵的大小,距离D和取走的糖果数量K。
接下来m行,每行m个整数,表示初始每个糖果堆中的糖果数量。
再接下来n行,每行两个整数x, y (1<=x,y<=m),代表每个小朋友选择的糖果堆坐标。
【输出】
输出共n行,每行一个整数,代表小朋友取走的糖果数量。
【输出输出样例1】
candy.in
3 5 2 3
1 3 7 6 8
4 5 2 3 3
5 2 1 9 8
9 4 2 5 1
2 3 3 3 3
2 2
3 3
4 5
candy.out
27
22
18
【样例1解释】
第一个小伙伴移走了(2,2)、(1,1)、(1,2)、(1,3)(2,1)、(2,3)、(2,4)、(3,1)、(3,2)、(3,3)、(4,2)这11个格子的共27颗糖果。
后面的小伙伴做类似操作。
【数据范围】
对于40%的数据,n,m<=300
对于100%的数据,n<=100000,m<=1000,0<=D<=10,1<=K<=10000,每堆糖果数量<=10^9

信息

ID
2428
难度
9
分类
(无)
标签
递交数
9
已通过
4
通过率
44%
被复制
1
上传者

相关

在下列比赛中:

2023CSP热身4