#24903. 递归对称矩阵

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: root

题目描述

对于矩阵,我们称其为对称矩阵,当且仅当:

我们称其为递归对称矩阵,当且仅当:

  1. 是对称矩阵,或者
  2. 为偶数,并且四个矩阵均为递归对称矩阵。

两个条件中至少满足一个即符合定义。

(对于矩阵, 表示满足行标号在区间以及满足列标号在区间中的元素组成的子矩阵,即其“左上角1/4矩阵”;其余子矩阵同理)

对于递归对称矩阵,我们可以如下定义它的递归权:

  1. 若是对称矩阵,则递归权为 1 ;
  2. 否则,递归权为四个矩阵的递归权之和。

现在,给定矩阵,判断其是否为递归对称矩阵。如果是,输出它的递归权。

输入格式

第一行一个正整数,表示总共输入组数据;

对于输入的每组数据,第一行一个正整数,表示输入矩阵的大小;接下来行,每行个整数,表示矩阵的元素值。

输出格式

第一行一个字符串"Yes"或者"No"(不含引号),表示输入矩阵是否为递归对称矩阵;

如果第一行输出"Yes",第二行一个整数,表示输入矩阵的递归权。

样例

样例输入

3
4
1 1 3 3
1 1 3 3
2 2 4 4
2 2 4 4
2
1 2
2 1
1
1

样例输出

Yes
4
No
Yes
1

数据范围与提示

对于的数据,;

对于的数据,,且对于任意矩阵元素,有;

多测题记得在处理下一组输入前清空必要的中间变量。