• 1208C Magic Grid


    题目大意

    给你一个n

    让你用0~n^2-1的数填满一个n*n的正方形

    满足每个数值出现一次且每行每列的异或值相等

    输出任意一种方案

    分析

    我们发现对于4*4的正方形

    0  1  2  3

    4  5  6  7

    8  9 10 11

    12 13 14 15

    是满足条件的

    那么如果对正方形中的每一个数都加上一个相同的数

    那么这个正方形一定还是满足的

    由于这种构造方式的异或值均是0

    所以任意多个满足的正方形拼起来一定也是满足的

    于是我们将正方形分为若干4*4的正方形

    使得每一个正方形是一组连续的数

    那么不难发现一定满足条件

    代码

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<algorithm>
    #include<cctype>
    #include<cmath>
    #include<cstdlib>
    #include<queue>
    #include<ctime>
    #include<vector>
    #include<set>
    #include<map>
    #include<stack>
    using namespace std;
    int g[1100][1100],cnt;
    int main(){
        int n,m,i,j,k,t;
        scanf("%d",&n);
        for(i=1;i<=n;i+=4)
          for(j=1;j<=n;j+=4)
            for(k=0;k<4;k++)
              for(t=0;t<4;t++)
                g[i+k][j+t]=cnt++;
        for(i=1;i<=n;i++){
          for(j=1;j<=n;j++)printf("%d ",g[i][j]);
          puts("");
        }
        return 0;
    }
  • 相关阅读:
    Git 分支管理
    Git 保存工作区
    Git 版本控制
    Git 基本命令-详细版本
    Git 初始化配置
    Git 基本概念:分区
    JavaScript 调试
    JavaScript 错误
    JS 判断字符串是否全部为字母
    JS 判断输入字符串是否为数字、字母、下划线组成
  • 原文地址:https://www.cnblogs.com/yzxverygood/p/11414150.html
Copyright © 2020-2023  润新知