列表

详情


NC50735. 与或和

描述

Freda学习了位运算和矩阵以后,决定对这种简洁而优美的运算,以及蕴含深邃空间的结构进行更加深入的研究。
对于一个由非负整数构成的矩阵,她定义矩阵的值为矩阵中所有数二进制的运算结果;定义矩阵的值为矩阵中所有数二进制的运算结果。
给定一个的矩阵,她希望求出:
  1. 该矩阵的所有子矩阵的值之和(所有子矩阵值相加的结果)。
  2. 该矩阵的所有子矩阵的值之和(所有子矩阵值相加的结果)。
接下来的剧情你应该已经猜到——Freda并不想花费时间解决如此简单的问题,所以这个问题就交给你了。
由于答案可能非常的大,你只需要输出答案对取模后的结果。

输入描述

输入文件的第一行是一个正整数N,表示矩阵的尺寸。
接下来N行,每行N个自然数,代表矩阵的一行。相邻两个自然数之间由一个或多个空格隔开。

输出描述

输出只有一行,包含两个用空格隔开的整数,第一个应为所有子矩阵值之和除以的余数,第二个应为所有子矩阵值之和除以的余数。

示例1

输入:

3
1 0 0
0 0 0
0 0 0

输出:

1 9

说明:

3 \times3矩阵共有9个1 \times1子矩阵、6个1 \times2子矩阵、6个2 \times1子矩阵、4个2 \times2子矩阵、3个1 \times3子矩阵、3个3 \times1子矩阵、2个2 \times3子矩阵、2个3 \times2子矩阵和1个3 \times3子矩阵。
只有一个子矩阵(仅由第一行第一列的那个元素构成的1 \times1矩阵)\texttt{AND}值为1,其余子矩阵的\texttt{AND}值均为0,总和为1。
包含第一行第一列那个元素的子矩阵有9个,它们的\texttt{OR}值为1,其余子矩阵的\texttt{OR}值为0,总和为9。

示例2

输入:

3
1 2 3
4 5 6
7 8 9

输出:

73 314

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

上一题