作者 : Xia Xinyu
日期 : 2022-1-1

原题链接

请你构造一个 n×n 的整数矩阵。

要求,矩阵满足下列所有条件:

矩阵中的所有元素的取值范围为 [0,n−1]。
矩阵主对角线上的所有元素都为 0。主对角线是指从左上角到右下角这一斜线方向的对角线。
该矩阵是对称矩阵。对称矩阵是指以主对角线为对称轴,各元素对应相等的矩阵。
同一行上的所有元素两两不同。
同一列上的所有元素两两不同。
输入格式
一个整数 n。

输出格式
共 n 行,每行 n 个空格隔开的整数,表示整个矩阵。

如果方案不唯一,输出任意合理方案均可。

数据范围
前三个测试点满足 2≤n≤10。
所有测试点满足 2≤n≤1000,n 保证是偶数。

输入样例1:

2

输出样例1:

0 1
1 0

输入样例2:

4

输出样例2:

0 1 3 2
1 0 2 3
3 2 0 1
2 3 1 0

import java.util.*;
public class Main{public static void main(String[] args){int[][] g = new int[1010][1010];Scanner in = new Scanner(System.in);int n = in.nextInt();for(int i = 0;i < n - 1;i ++){for(int j = 0;j < n - 1;j ++)g[i][j] = (i + j) % (n - 1) + 1;  //取余结果为0-(n-2),需要加上1}for(int i = 0;i < n - 1;i ++){g[i][n - 1] = g[n - 1][i] = g[i][i]; //将对角线元素放到行列的末尾g[i][i] = 0; //对角线元素置0}StringBuffer bul = new StringBuffer();for(int i = 0;i < n;i ++){for(int j = 0;j < n;j ++)//     System.out.print(g[i][j] + " ");  直接多次输出会TLE// System.out.println();bul.append(g[i][j] + " ");  //新get到的小技巧bul.append('\n');}System.out.println(bul.toString());}
}

时间复杂度:O(n^2)
空间复杂度:O(n)

一道奇思妙想题!!!

4204. 构造矩阵相关推荐

  1. hdu4975 行列和构造矩阵(dp判断唯一性)

    题意:       和hdu4888一样,只不过是数据加强了,就是给你行列的和,让你构造一个矩阵,然后判断矩阵是否唯一. 思路:       构造矩阵很简单,跑一次最大流就行了,关键是判断矩阵的唯一性 ...

  2. POJ 2396 构造矩阵(上下流)

    题意:       要求构造一个矩阵,给你行和,列和,还有一些点的上下范围,输出一个满足题意的矩阵. 思路:       这个题目很经典,这是自己看上下流后接触的第一道题,感觉很基础的一道题目,现在我 ...

  3. hdu4888 最大流(构造矩阵)

    题意:       让你构造一个矩阵,满足每一行的和,和每一列的和都等于他给的,还要判断答案是否唯一,还有一点就是矩阵内所有的数字都是[0,k]范围的. 思路:       这个题目看完就让我想起了h ...

  4. hdu 1757 A Simple Math Problem 构造矩阵

    题意:函数f(x), 若 x < 10 f(x) = x. 若 x >= 10 f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + -- + ...

  5. HDU-6470 Count (构造矩阵+矩阵快速幂)

    题目链接 Problem Description Farmer John有n头奶牛. 某天奶牛想要数一数有多少头奶牛,以一种特殊的方式: 第一头奶牛为1号,第二头奶牛为2号,第三头奶牛之后,假如当前奶 ...

  6. BZOJ 3240 构造矩阵+矩阵快速幂

    思路: ax+b cx+d 构造矩阵+矩阵快速幂 (需要加各种特判,,,,我好像加少了- ) //By SiriusRen #include <cstdio> #include <c ...

  7. Matrix Power Series(矩阵快速幂,二分法/构造矩阵套矩阵)

    传送门 题意: 思路: 方法一:(二分) 分析: 奇偶分类讨论: 1.代码: #include <iostream> #include <cstdio> #include &l ...

  8. 又见斐波那契数列(矩阵构造+矩阵快速幂)

    //补题~~~ 链接:https://ac.nowcoder.com/acm/problem/15666 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其 ...

  9. pku 1830 开关问题(构造矩阵+高斯消元)

    开关问题 Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 4653   Accepted: 1675 Description ...

  10. HDU 4565So Easy!2012长沙邀请赛A题(共轭构造+矩阵的快速幂)

    So Easy! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total S ...

最新文章

  1. 细述hbase协处理器
  2. IDEA在jsp页面写out.print()代码报错
  3. python红色_python把红玫瑰变成蓝色女巫,将,红色,转化,为,蓝色妖姬
  4. 写了个Python小工具,再也不怕孩子偷偷玩电脑游戏啦
  5. JDBC入门(4)--- 批处理
  6. 18.phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)
  7. ember.js_如何设置基本的Ember.js应用
  8. UI:使用 pod 引入 AFNetworking
  9. Android性能优化---布局优化
  10. unity-Profiler调试Android
  11. linux怎样解压bin文件,linux下解压bin文件
  12. 用python判断素数合数_使用Python判断质数(素数)的简单
  13. 图像分辨率和图像大小的计算
  14. Redis集群:主从节点添加和删除
  15. kotlin学习之高阶函数及常用基本高阶函数
  16. java安装报错循环冗余检查_数据错误 循环冗余检查怎么解决
  17. web页面PC端和移动端的区别
  18. mac如何安装vue(简单明了)
  19. 11.21的自动锁屏 ios_iPhone11 的新手小技巧
  20. ngro_k服务器搭建(本地电脑与微信交互)

热门文章

  1. Spring Boot 集成Shiro和CAS
  2. java实现Excel数据导出
  3. supervisor 管理
  4. MYSQL正在使用select发现现场记录方法,包括一个逗号分隔的字符串
  5. [Andriod官方API指南]连接之蓝牙
  6. 搭建一个wordpress
  7. eclipse根据wsdl文件生成webservice客户端
  8. VMware Workstation 9.0安装体验
  9. idea控制台搜索功能
  10. Java网络爬虫实操(6)