站外题求解
  • 板块学术版
  • 楼主yaosen
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/13 14:42
  • 上次更新2025/1/13 17:49:52
查看原帖
站外题求解
1398153
yaosen楼主2025/1/13 14:42

C++题目内容 给你一个N*M的神奇的棋盘,上面有相同大小的正方形格子,每个格子中只包含一个字母。他的神奇之处在于,当你滴一滴水在某个格子上,水会迅速向四面八方均匀传播。当某一方向碰到了另一个字母,那么传播就会停止(所有方向都会停止),因此传播的结果都会是正方形。现在我们想知道,从某个点传出去的水滴能形成多大的正方形。所有大正方形的边都是平行于坐标轴的。

输入格式 输入第一行包含三个整数 N,M,Q,分别表示正方形格子的行数和列数,以及询问的个数。接下来是一个 N*M 的矩阵,其中每个元素包含一个小写字母表示相应各自内的字母。接下来 Q 行每行用两个数 X 和 Y 描述一个询问,表示询问第 X 行第 Y 列的水滴能创造的大正方形的边长,每个询问独立。注意行的标号从 0 到 N-1,列的标号从 0 到 M-1。

输出格式 输出文件包括 Q 行,每行包含一个整数,即相应问题的答案。

样例 1 输入 5 5 3 abbaa abbaa aaaaa aaaaa aaaaa 1 2 1 4 3 2 样例 1 输出 1 1 3

提示 时间限制1000ms 内存限制125MB 对于 30% 的数据,有 1<=N,M<=50,1<=Q<=500; 对于 100% 的数据,有 1<=N,M<=1000,1<=Q<=10000。

求解

2025/1/13 14:42
加载中...