社区
数据结构与算法
帖子详情
某公司笔试题
ancient
2006-06-19 01:22:53
笔试的时候这题没有做出来,请高手指点一下
一个N*N的对称矩阵,每行每列都是数字1~N的一种全排列。例如:
1 2 1 2 3
2 1 2 3 1
3 1 2
注意,3*3矩阵的一条对角线也是1、2、3的一个全排列,而2*2的矩阵则不是。请问,什么样的N,能使N*N的矩阵在满足题目条件的情况下必然有一条对角线是1~N的一个全排列。
A.3的幂
B.奇数
C.除了2以外的质数
D.N=3
E.以上全对
...全文
373
7
打赏
收藏
某公司笔试题
笔试的时候这题没有做出来,请高手指点一下 一个N*N的对称矩阵,每行每列都是数字1~N的一种全排列。例如: 1 2 1 2 3 2 1 2 3 1 3 1 2 注意,3*3矩阵的一条对角线也是1、2、3的一个全排列,而2*2的矩阵则不是。请问,什么样的N,能使N*N的矩阵在满足题目条件的情况下必然有一条对角线是1~N的一个全排列。 A.3的幂 B.奇数 C.除了2以外的质数 D.N=3 E.以上全对
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
def000
2006-07-28
打赏
举报
回复
首先证明:在满足题目条件的奇数阵中,任一个元素必然出现在对角线上。
用反证法,假如元素a永远不出现在对角线上,既a的任一位置(i,j),有i!=j
考虑向一个空的矩阵添加元素a的过程:首先随意把a填到位置(i,j) i!=j,那莫,由于是对称阵,a必然也会出现在(j,i);因为每一行每一列的元素都不能重复,所以在以后的添加过程中,a不可能出现在第i,j行和第i,j列。
如果我们用两个数组表示a可能出现的行和列,在添加a到(i,j),(j,i)之前,
能够填写a的行:1,2,3,,,,n
能够填写a的列:1,2,3,,,,n
在添加a到(i,j)和(j,i)之后
能够填写a的行:1,2,3,,,,n(去掉i,j)
能够填写a的列:1,2,3,,,,n(去掉i,j)
也就是说,相当于一次从上述数组中划掉下标相同的两行和两列。
这样如果n是奇数,划到最后会发现只剩标号相同的一行一列了,就是说添加到最后,a只能出现在对角线上,这与假设矛盾。
所以如题所述的奇数阵的每个元素都必然出现在对角线上。由抽屉原理每个元素也只能出现一次。证毕。
ancient
2006-06-19
打赏
举报
回复
明白了
sharpdew
2006-06-19
打赏
举报
回复
对于任一正整数N,只要比较两个数列是否有重合的点就知道上述N*N矩阵的对脚线是否为一个1-N的组合:
2, 3, 4, ...,N
N,N-1,N-2,...,2
上面两个数列分别代表对角线上的数字的位置(列编号)和第一行第一个数在不同组合下循环换位的位置(列编号),如果要想对脚线上也是一个没有重复数的组合,一定要满足上面两个数列对应的位置的数不同,仔细分析上面两个数列可知,只要N不是偶数(也就是上面数列中数的个数位奇数,因为是从2开始的),那么上面两个数列对应的数就肯定不同。
ancient
2006-06-19
打赏
举报
回复
二楼的能解释一下吗?
zzwu
2006-06-19
打赏
举报
回复
真是一个极好的题目!
sharpdew
2006-06-19
打赏
举报
回复
奇数
LoveVV99
2006-06-19
打赏
举报
回复
mark,等待答案
hadoop集群读写mysql_Hadoop集群(第10期)_MySQL关系数据库
packagecom.hebut.mr;importJava.io.IOException;importjava.io.DataInput;importjava.io.DataOutput;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.util.Ite...
Hadoop集群(第10期)_MySQL关系数据库
Hadoop集群(第10期)_MySQL关系数据库 本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2012-12/76706p1...
hadoop mysql关系_Hadoop集群(第10期)_MySQL关系数据库
1.2 Linux平台1)准备软件MySQL数据库:MySQL-server-5.5.21-1.linux2.6.i386.rpmMySQL客户端:MySQL-client-5.5.21-1.linux2.6.i386.rpm2)安装环境:操作系统:CentOS6.0 Linux3)检查安装在安装MySQL之前,先检查CentOS系统中是否已经安装了一个MySQL,如果已经安装先卸载,不然会导致安...
数据结构与算法
33,026
社区成员
35,334
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章