#P1043. 方形计数

    ID: 718 远端评测题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>青年组第六届上海市青少年算法竞赛网络赛(青年组)

方形计数

题目描述

给定 n×nn\times n 个整数 ai,ja_{i,j} 构成一个方阵,给定 kk,请求出原方阵中每个 k×kk\times k 的小方阵各有多少个不同的数字。

输入格式

  • 第一行:两个整数 nn 与 kk。
  • 第二行到第 n+1n+1 行:第 i+1i+1 行有 nn 个整数表示 ai,1a_{i,1} 到 ai,na_{i,n}。

输出格式

  • 共 n−k+1n-k+1 行:每行 n−k+1n-k+1 个数字,其中第 ii 行 第 jj 列的数字表示原方阵中 ai,ja_{i,j} 到 ai+k−1,j+k−1a_{i+k-1,j+k-1} 的不同数字数量。
5 3
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
5 5 5
5 5 5
5 5 5

数据范围

  • 对于 30%30\% 的数据,1≤n≤501\leq n\leq 50,0≤ai,j<1000\leq a_{i,j}< 100;
  • 对于 60%60\% 的数据,1≤n≤1001\leq n\leq 100,0≤ai,j<100000\leq a_{i,j}< 10000;
  • 对于 100%100\% 的数据,1≤n≤3001\leq n\leq 300,0≤ai,j<900000\leq a_{i,j}< 90000;