HBC20211[JSOI2015]SYMMETRY题解

凉芷 算法基础篇 51 0
想要成为编程高手?那就来试试全网最全C++题库,让您在练习中快速成长。
张老师正在课堂上讲解正方形的对称模式,为了简单起见,他用0-1方阵代表一个正方形图形,即把正方形分解成n×n的方格阵,0代表一个白色方格,1代表一个黑色方格,首先讲到的是容易辨别的轴对称,正方形有4个对称轴,分别是水平中线,竖直中线和两条对角线,如果一个正方形图形以某个对称轴做反射变换后保持不变,就称为轴对称图形,例如下面的两个图形都是轴对称图形。

张老师正在课堂上讲解正方形的对称模式。为了简单起见,他用0-1方阵代表一个正方形图形,即把正方形分解成n×n的方格阵,0代表一个白色方格,1代表一个黑色方格。首先讲到的是容易辨别的轴对称,正方形有4个对称轴,分别是水平中线,竖直中线和两条对角线。如果一个正方形图形以某个对称轴做反射变换后保持不变,就称为轴对称图形。例如下面的两个图形都是轴对称图形。 100010 100101 111000 张老师继续讲解正方形的旋转对称。如果一个正方形图形以中心点旋转180度后保持不变,就称为180度对称图形。如果以中心点顺时针旋转90度后保持不变,就称为90度 对称图形,例如下面的两个图形左边是180度对称图形,右边是90度对称图形。 00111011 11101110 01110111 11001101 张老师接着说,如果一个正方形图形具有两个互相垂直的对称轴,就称为4对称图形,如果关于4个对称轴全部对称,就称为8对称图形。按照定义,90度对称图形也是180度对称图形,8对称图形也是4对称图形。当正方形图形的边长为偶数时,该图形的中心是最中间4个方格的公共顶点,当正方形图形的边长为奇数时,该图形有一个中心方格,该图形的中心也是它的中心方格的中心。边长为1的图形显然是8对称图形。张老师给学生证明了两个定理。 定理1:一个正方形图形是4对称图形当且仅对它是180度对称图形和轴对称图形。 定理2:一个正方形图形是8对称图形当且仅对它是90度对称图形和轴对称图形。 最后是练习时间,张老师要求学生寻找在大正方形图形中出现的各种对称图形。请你编程实现这个要求。设输入一个0-1方阵,输出满足8对称,90度对称,4对称,180度对称和轴对称的最大子连续方阵的边长。子连续方阵是指选择若干相邻行列的子方阵,代表在大图形中出现的小图形。

HBC20211[JSOI2015]SYMMETRY题解
-第1张图片-东莞河马信息技术
(图片来源网络,侵删)
不断挑战自我,才能突破极限!全网最全C++题库,让您在编程道路上越走越远。

标签: HBC20211[JSOI2015]SYMMETRY题解