zoukankan      html  css  js  c++  java
  • 题解 CF1436B 【Prime Square】

    CF1436B
    对于一个 (n) 阶方阵,我们发现:

    当 $ n$ 为偶数时,对角线元素为 (1) ,其他元素为 (0) 时,可以保证每一行每一列的和都是 (2),满足题意。

    (n) 为奇数时,则需要在以上构造的基础上在中心元素所在的行列填一个 (1),使得中心元素所在的行列和为 (2),而加入新元素的行列的和为 (2)(3),仍然满足题意。

    (n=4left[ egin{matrix} 1 & 0 & 0 & 1\ 0 & 1 & 1 & 0 \ 0 & 1 & 1 & 0 \ 1 & 0 & 0 & 1end{matrix} ight])

    (n=5left[ egin{matrix} 1 & 0 &1 & 0 & 1\ 0 & 1 & 0 & 1 & 0 \ 1 & 0 & 1 & 0 & 0 \ 0 & 1 & 0 & 1 & 0\ 1 & 0 & 0 & 0 & 1 \end{matrix} ight])

    //AC代码
    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    #define N 101
    using namespace std;
    int T,a[N][N],n;
    int main()
    {
    	scanf("%d",&T);
    	while(T--){
    		memset(a,0,sizeof a);//别忘了清数组
    		scanf("%d",&n);
    		if(n==2){
    			printf("%d %d
    %d %d
    ",1,1,1,1); 
    			continue;
    		}
    		for(int i=1;i<=n;++i)a[i][i]=1;
    		for(int i=n,j=1;i>=1,j<=n;--i,++j)a[i][j]=1;
    		if(n%2==1)a[1][n/2+1]=1,a[n/2+1][1]=1;
    		for(int i=1;i<=n;++i){
    			for(int j=1;j<=n;++j)printf("%d ",a[i][j]);
    			printf("
    ");
    		}
    		
    	}
    	return 0;
    }
    
  • 相关阅读:
    .NET实现Excel文件的读写 未测试
    权限管理设计
    struts1中配置应用
    POJ 2139 Six Degrees of Cowvin Bacon(floyd)
    POJ 1751 Highways
    POJ 1698 Alice's Chance
    POJ 1018 Communication System
    POJ 1050 To the Max
    POJ 1002 4873279
    POJ 3084 Panic Room
  • 原文地址:https://www.cnblogs.com/Wuhen-GSL/p/13872290.html
Copyright © 2011-2022 走看看