4204. 构造矩阵
作者 : 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. 构造矩阵相关推荐
- hdu4975 行列和构造矩阵(dp判断唯一性)
题意: 和hdu4888一样,只不过是数据加强了,就是给你行列的和,让你构造一个矩阵,然后判断矩阵是否唯一. 思路: 构造矩阵很简单,跑一次最大流就行了,关键是判断矩阵的唯一性 ...
- POJ 2396 构造矩阵(上下流)
题意: 要求构造一个矩阵,给你行和,列和,还有一些点的上下范围,输出一个满足题意的矩阵. 思路: 这个题目很经典,这是自己看上下流后接触的第一道题,感觉很基础的一道题目,现在我 ...
- hdu4888 最大流(构造矩阵)
题意: 让你构造一个矩阵,满足每一行的和,和每一列的和都等于他给的,还要判断答案是否唯一,还有一点就是矩阵内所有的数字都是[0,k]范围的. 思路: 这个题目看完就让我想起了h ...
- 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) + -- + ...
- HDU-6470 Count (构造矩阵+矩阵快速幂)
题目链接 Problem Description Farmer John有n头奶牛. 某天奶牛想要数一数有多少头奶牛,以一种特殊的方式: 第一头奶牛为1号,第二头奶牛为2号,第三头奶牛之后,假如当前奶 ...
- BZOJ 3240 构造矩阵+矩阵快速幂
思路: ax+b cx+d 构造矩阵+矩阵快速幂 (需要加各种特判,,,,我好像加少了- ) //By SiriusRen #include <cstdio> #include <c ...
- Matrix Power Series(矩阵快速幂,二分法/构造矩阵套矩阵)
传送门 题意: 思路: 方法一:(二分) 分析: 奇偶分类讨论: 1.代码: #include <iostream> #include <cstdio> #include &l ...
- 又见斐波那契数列(矩阵构造+矩阵快速幂)
//补题~~~ 链接:https://ac.nowcoder.com/acm/problem/15666 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其 ...
- pku 1830 开关问题(构造矩阵+高斯消元)
开关问题 Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 4653 Accepted: 1675 Description ...
- HDU 4565So Easy!2012长沙邀请赛A题(共轭构造+矩阵的快速幂)
So Easy! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...
最新文章
- 细述hbase协处理器
- IDEA在jsp页面写out.print()代码报错
- python红色_python把红玫瑰变成蓝色女巫,将,红色,转化,为,蓝色妖姬
- 写了个Python小工具,再也不怕孩子偷偷玩电脑游戏啦
- JDBC入门(4)--- 批处理
- 18.phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)
- ember.js_如何设置基本的Ember.js应用
- UI:使用 pod 引入 AFNetworking
- Android性能优化---布局优化
- unity-Profiler调试Android
- linux怎样解压bin文件,linux下解压bin文件
- 用python判断素数合数_使用Python判断质数(素数)的简单
- 图像分辨率和图像大小的计算
- Redis集群:主从节点添加和删除
- kotlin学习之高阶函数及常用基本高阶函数
- java安装报错循环冗余检查_数据错误 循环冗余检查怎么解决
- web页面PC端和移动端的区别
- mac如何安装vue(简单明了)
- 11.21的自动锁屏 ios_iPhone11 的新手小技巧
- ngro_k服务器搭建(本地电脑与微信交互)