#578. 寻宝!大冒险!

    ID: 578 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 3 上传者: 标签>CCF CSP认证第 26 次CCF CSP软件能力认证基础算法模拟

寻宝!大冒险!

问题描述

暑假要到了。可惜由于种种原因,小 P 原本的出游计划取消。失望的小 P 只能留在西西艾弗岛上度过一个略显单调的假期……直到……某天,小 P 获得了一张神秘的藏宝图。

西西艾弗岛上种有 nn 棵树,这些树的位置记录在一张绿化图上。简单地说,绿化图可以视作一个大小为 (L+1)×(L+1)(L+1)\times(L+1)0101 矩阵 AA,地图左下角(坐标 (0,0)(0,0))和右上角(坐标 (L,L)(L,L))分别对应 A[0][0]A[0][0]A[L][L]A[L][L]。其中 A[i][j]=1A[i][j]=1 表示坐标 (i,j)(i,j) 处种有一棵树,A[i][j]=0A[i][j]=0 则表示没有树。矩阵 AA 中有且仅有的 nn11 展示了西西艾弗岛上 nn 棵树的位置。

传说宝藏就埋在某棵树下。顿顿从绿化图 AA 中剪下一小块,制作成藏宝图 BB。藏宝图可以看作大小为 (S+1)×(S+1)(S+1)\times(S+1)0101 矩阵 BBSS 远小于 LL),对应着 AA 中的某一部分。

若存在坐标 (x,y)(x,y)0x,yLS0\le x,y\le L-S)使得对任意 (i,j)(i,j)0i,jS0\le i,j\le S)都有

A[x+i][y+j]=B[i][j],A[x+i][y+j]=B[i][j],

则称藏宝图 BB 对应绿化图 AA 中左下角为 (x,y)(x,y)、右上角为 (x+S,y+S)(x+S,y+S) 的区域。由于藏宝图只描绘很小范围,此类符合条件的坐标 (x,y)(x,y) 可能存在多个。

请结合绿化图中 nn 棵树的位置以及小 P 手中的藏宝图,判断绿化图中有多少处坐标可以与藏宝图左下角对应(特别地,藏宝图左下角一定是一棵树,即 A[x][y]=B[0][0]=1A[x][y]=B[0][0]=1,表示宝藏可能埋藏的位置)。

输入格式

第一行包含三个正整数 n,L,Sn,L,S,分别表示树的棵数、绿化图和藏宝图的大小。

接下来 nn 行,每行包含两个整数 xxyy0x,yL0\le x,y\le L),表示一棵树的坐标。输入中只给出这 nn 棵树的位置(坐标不会重复)。

最后 (S+1)(S+1) 行输入藏宝图 BB,第 ii 行(0iS0\le i\le S)包含 (S+1)(S+1)0011,表示

B[Si][0]  B[Si][1]    B[Si][S].B[S-i][0]\ \ B[S-i][1]\ \ \dots\ \ B[S-i][S].

也就是说,最先输入的是 B[S][0]B[S][S]B[S][0]\dots B[S][S](藏宝图的顶行),最后输入的是 B[0][0]B[0][S]B[0][0]\dots B[0][S](藏宝图的底行)。

输出格式

输出一个整数,表示绿化图中有多少处坐标 (x,y)(x,y)(满足 0x,yLS0\le x,y\le L-S)可以与藏宝图左下角对应(即满足对所有 0i,jS0\le i,j\le SA[x+i][y+j]=B[i][j]A[x+i][y+j]=B[i][j]B[0][0]=1B[0][0]=1)。

输入样例 1

5 100 2
0 0
1 1
2 2
3 3
4 4
0 0 1
0 1 0
1 0 0

输出样例 1

3

输入样例 2

5 4 2
0 0
1 1
2 2
3 3
4 4
0 0 0
0 1 0
1 0 0

输出样例 2

0

说明

样例 1 解释

绿化图上 (0,0),(1,1),(2,2)(0,0), (1,1), (2,2) 三处均可能埋有宝藏。

样例 2 解释

若将藏宝图左下角与绿化图 (3,3)(3,3) 处对应,则藏宝图右上角会超出绿化图边界,不计入;因此没有匹配位置。

数据范围

  • 40%40\% 的测试数据满足:L50L\le 50
  • 70%70\% 的测试数据满足:L2000L\le 2000
  • 全部测试数据满足:n1000n\le 1000L109L\le 10^9S50S\le 50