2517: 【模拟】2023B- 矩阵最大值

金币值:1 时间限制:2.000 s 内存限制:128 M
正确:48 提交:64 正确率:75.00% 命题人:

题目描述

给定一个仅包含0和1的N*N二维矩阵,请计算二维矩阵的最大值,计算规则如下: 

1. 每行元素按下标顺序组成一个二进制数(下标越大越排在低位),二进制数的值就是该行的值,矩阵各行值之和为矩阵的值。 

2. 允许通过向左或向右整体循环移动每行元素来改变各元素在行中的位置 比如: 

[1,0,1,1,1]向右整体循环移动2位变为[1,1,1,0,1],二进制数为11101,值为29 

[1,0,1,1,1]向左整体循环移动2位变为[1,1,1,1,0],二进制数为11110,值为30。

输入格式

1、输入的第一行为正整数,记录了N的大小,0 < N <= 20 

2、输入的第2到N+1行为二维矩阵信息,行内元素 边角逗号分隔。

输出格式

矩阵的最大值。

输入样例    复制

5
1,0,0,0,1
0,0,0,1,1
0,1,0,1,0
1,0,0,1,1
1,0,1,0,1

输出样例    复制

122

提示

第一行向右整体循环移动1位,得到本行的最大值[1,1,0,0,0],二进制值为11000,十进制值为24。 

第二行向右整体循环移动2位,得到本行的最大值[1,1,0,0,0],二进制值为11000,十进制值为24。 

第三行向左整体循环移动1位,得到本行的最大值[1,0,1,0,0],二进制值为 10100,十进制值为20。 

第四行向右整体循环移动2位,得到本行的最大值[1,1,1,0,0],二进制值为 11100,十进制值为28。

第五行向右整体循环移动1位,得到本行的最大值[1,1,0,1,0],二进制值为 11010,十进制值为26。

因此,矩阵的最大值为122.