• bzoj 3503: [Cqoi2014]和谐矩阵


    3503: [Cqoi2014]和谐矩阵

    Time Limit: 10 Sec  Memory Limit: 128 MBSec  Special Judge
    Submit: 1236  Solved: 584
    [Submit][Status][Discuss]

    Description

    我们称一个由0和1组成的矩阵是和谐的,当且仅当每个元素都有偶数个相邻的1。一个元素相邻的元素包括它本
    身,及他上下左右的4个元素(如果存在)。
    给定矩阵的行数和列数,请计算并输出一个和谐的矩阵。注意:所有元素为0的矩阵是不允许的。

    Input

    输入一行,包含两个空格分隔的整数m和n,分别表示矩阵的行数和列数。

    Output


    输出包含m行,每行n个空格分隔整数(0或1),为所求矩阵。测试数据保证有解。

    Sample Input

    4 4

    Sample Output

    0 1 0 0
    1 1 1 0
    0 0 0 1
    1 1 0 1

    数据范围
    1 <=m, n <=40
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #define maxn 2010
    using namespace std;
    int id[50][50],a[maxn][maxn],b[maxn],ans[maxn],n,m,cnt;
    int dx[5]={0,0,0,1,-1};
    int dy[5]={0,1,-1,0,0};
    void Gauss(int n){
        for(int i=1;i<=n;i++){
            bool flag=0;
            for(int j=i;j<=n;j++)
                if(a[j][i]){
                    for(int k=1;k<=n;k++)swap(a[i][k],a[j][k]);
                    flag=1;break;
                }
            if(!flag)continue;
            for(int j=i+1;j<=n;j++)
                if(a[j][i])
                    for(int k=i;k<=n;k++)a[j][k]^=a[i][k];
        }
        for(int i=n;i>=1;i--){
            ans[i]=a[i][i]?b[i]:1;
            if(ans[i])
                for(int j=1;j<=i-1;j++)if(a[j][i])b[j]^=1;
        }
    }
    int main(){
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)id[i][j]=++cnt;
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
                for(int k=0;k<=4;k++){
                    int t1=id[i][j];
                    int t2=id[i+dx[k]][j+dy[k]];
                    if(t2)a[t1][t2]=1;
                }
        Gauss(cnt);
        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++)
                printf("%d ",ans[id[i][j]]);
            puts("");
        }
        return 0;
    }
  • 相关阅读:
    简单工厂模式
    单例
    开发帮助网址
    图片上传
    数据提交
    存储过程
    标量值函数
    linux查看TCP各连接状态
    nginx配置文件nginx.conf
    php配置文件php-fpm.conf
  • 原文地址:https://www.cnblogs.com/thmyl/p/8877338.html
Copyright © 2020-2023  润新知