luogu#P6083. [JSOI2015] symmetry

    ID: 10103 远端评测题 1000ms 125MiB 尝试: 0 已通过: 0 难度: 5 上传者: 标签>二分答案哈希HASH各省省选2015江苏

[JSOI2015] symmetry

题目描述

张老师正在课堂上讲解正方形的对称模式。为了简单起见,他用 0101 方阵代表一个正方形图形,即把正方形分解成 n×nn\times n 的方格阵,00 代表一个白色方格,11 代表一个黑色方格。

首先讲到的是容易辨别的轴对称,正方形有 44 个对称轴,分别是水平中线,竖直中线和两条对角线。如果一个正方形图形以某个对称轴做反射变换后保持不变,就称为轴对称图形。例如下面的两个图形都是轴对称图形。

100  010
100  101
111  000

张老师继续讲解正方形的旋转对称。如果一个正方形图形以中心点旋转 180180 度后保持不变,就称为 180180 度对称图形。如果以中心点顺时针旋转 9090 度后保持不变,就称为 9090 度对称图形,例如下面的两个图形左边是 180180 度对称图形,右边是 9090 度对称图形。

0011  1011
1110  1110
0111  0111
1100  1101

张老师接着说,如果一个正方形图形具有两个互相垂直的对称轴,就称为 44 对称图形,如果关于 44 个对称轴全部对称,就称为 88 对称图形。按照定义,9090 度对称图形也是 180180 度对称图形,88 对称图形也是 44 对称图形。当正方形图形的边长为偶数时,该图形的中心是最中间 44 个方格的公共顶点,当正方形图形的边长为奇数时,该图形有一个中心方格,该图 形的中心也是它的中心方格的中心。边长为 11 的图形显然是 88 对称图形。

张老师给学生证明了两个定理。

  • 定理 11:一个正方形图形是 44 对称图形当且仅对它是 180180 度对称图形和轴对称图形。
  • 定理 22:一个正方形图形是 88 对称图形当且仅对它是 9090 度对称图形和轴对称图形。

最后是练习时间,张老师要求学生寻找在大正方形图形中出现的各种对称图形。请你编程实现这个要求。设输入一个 0101 方阵,输出满足 88 对称,9090 度对称,44 对称,180180 度对称和轴对称的最大子连续方阵的边长。子连续方阵是指选择若干相邻行列的子方阵,代表在大图形中出现的小图形。

输入格式

输入的第一行是一个正整数 nn,表示大正方形图形的边长。然后是 nn 行长度为 nn0101 字符串。

输出格式

输出有一行,包含 55 个以空格隔开的自然数,分别表示在输入中出现的最大 88 对称,9090 度对称,44 对称,180180 度对称和轴对称的子连续方阵的行数。

5
11100
11000
10111
11000
11100
2 2 3 3 5

提示

样例说明

大图形有水平对称轴,左上角有一个 2×22\times 288 对称图形,中间 33 行最右 33 列构成 44 对称图形。


数据范围

对于 100%100\% 的数据,5n5005\leq n\leq 500