当前位置: 首页 > 工具软件 > MagicGrid > 使用案例 >

C. Magic Grid(构造矩阵)

劳华灿
2023-12-01

先 分 析 样 例 , 对 于 n = 4 的 情 况 先分析样例,对于n=4的情况 ,n=4

0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15

这 种 情 况 刚 好 每 行 每 列 都 等 于 0 这种情况刚好每行每列都等于0 0
既 然 这 样 , 我 们 可 以 让 每 个 4 ∗ 4 的 小 矩 阵 都 由 这 个 矩 阵 加 上 某 个 数 生 成 既然这样,我们可以让每个4*4的小矩阵都由这个矩阵加上某个数生成 ,44

这 样 满 足 每 个 小 矩 阵 为 0 , 大 矩 阵 异 或 后 还 是 0 这样满足每个小矩阵为0,大矩阵异或后还是0 00

#include <bits/stdc++.h>
using namespace std;
int a[1009][1009],k=0,n;
int find(int i,int j){
	return (n/4)*(i/4)+j/4;
}
int main()
{
	cin>>n;
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<n;j++)
			cout<<find(i,j)*16+i%4*4+j%4<<" ";
		cout<<endl; 
	}
}
 类似资料: