论坛首页 综合技术论坛

一道“正方体六个面上的四个角点整数之和相等”的求解问题

浏览 23678 次
该帖已经被评为精华帖
作者 正文
   发表时间:2006-11-20  
下面是另一道问题,供大家娱乐

问题描述:
任意给定一个正方形,将正方形的各边做n等分,并将相应各点连接成水平或垂直的直线,如果从正方形的左下角(0,0)出发,沿各边线或连接线,自左向右或自下而上的方向,到达正方形的右上角(n,n),请用程序计算并输出所有可能的路径总数和具体线路.输出结果按以下方式:

以n=1为例:
n = 1
Path1: (0,0) - (0,1) - (1,1)
Path2: (0,0) - (1,0) - (1,1)
Total = 2
0 请登录后投票
   发表时间:2006-11-21  
qinysong 写道
3、最小的数(如1)不能和次小的两个(如2,3)在同一边,最大的不和次大的两个在同一边;

这样表述就没有问题了吧?

这个推断是建立在8个参数不等的前提下的巴?否则这条不成立。

BTW, jkit去海版申请评议好了,天知道谁投的。。。
0 请登录后投票
   发表时间:2006-11-21  
jkit 写道
不知道这个贴的精华之处在什么地方。让人脑代替电脑做特定思考似乎不是什么值得称道的事。
大家不妨思考一下足球的每个面上的顶点之和都相等解法。看看人脑可以帮电脑做些什么,电脑可以帮人脑做些什么。


“让人脑代替电脑做特定思考似乎不是什么值得称道的事。”

我不太同意这种看法,首先电脑是不会做特定思考的,程序所做的只是一种计算、判断和选择,这种判断和选择是需要条件的,而这些条件必然是一种直接或间接的输入(发展到黑客帝国时代,或许会期待到你说的样子,呵呵),对于一个算法,哪怕其很简单,发现其内在实质,都是很有价值的,都是比一股脑的抛给电脑,让他在那狂奔要好

希望谁拿出一个真正的算法问题出来讨论。:wink:
0 请登录后投票
   发表时间:2006-11-21  
hurricane1026 写道
qinysong 写道
下面是另一道问题,供大家娱乐

问题描述:
任意给定一个正方形,将正方形的各边做n等分,并将相应各点连接成水平或垂直的直线,如果从正方形的左下角(0,0)出发,沿各边线或连接线,自左向右或自下而上的方向,到达正方形的右上角(n,n),请用程序计算并输出所有可能的路径总数和具体线路.输出结果按以下方式:

以n=1为例:
n = 1
Path1: (0,0) - (0,1) - (1,1)
Path2: (0,0) - (1,0) - (1,1)
Total = 2


这有什么好做的?
一个组合就完了,一共2n步,其中一半是向上, 你只要确定哪些步是向上就可以了。Cn/2n


麻烦给个代码看看

我的思路是用stack遍历,因为这是一个有向无环图
虽然遍历很容易,输出那种格式的结果就比较麻烦了,还没想到好的
0 请登录后投票
   发表时间:2006-11-21  
想要算法题?多的是,只怕根本没本事做

以前csdn上就有过一道,任意给定n个正整数,要求其两两之间的差都不相等,并且使得最大的数和最小的数的差最小。(不妨设最小数为1)

当n=3时,1,2,4
当n=4时,1,2,5,7
……

注意:这道题是有应用背景的,google一下应该可以搜到。
0 请登录后投票
   发表时间:2006-11-22  
n=5时是1,2,5,10,12么?
0 请登录后投票
   发表时间:2006-11-22  
应该不是,那贴我找过,推出来的规律是最大的差应该是n*(n-1)/2,所以n=5时,最大的是11

http://www.web-nb.com/archivers/tid-3d0811-00-931488/
0 请登录后投票
   发表时间:2006-11-22  
那个公式不对的,看那个超长的帖子47,50,74楼也有人得出1,2,5,10,12的结果,而且最优解的数列还不唯一。。。穷举没戏了。
0 请登录后投票
   发表时间:2006-11-22  
最大值 = n*(n-1)/2 + 1
(因为数列1,2,4,7,....,Mi, ,是其中一个规则解)
(这个题目的问题应该是判断n个正整数时,有多少最优解,否则没任何意义,当然可以通过程序把所有的最优解列举出来。
最优解的个数=(n-2)*(n-3)* ......* 2 * 1
(通过递规的方式穷举所有的结果)
0 请登录后投票
   发表时间:2006-11-22  
jesse 写道
最大值 = n*(n-1)/2 + 1
(因为数列1,2,4,7,....,Mi, ,是其中一个规则解)
(这个题目的问题应该是判断n个正整数时,有多少最优解,否则没任何意义,当然可以通过程序把所有的最优解列举出来。
最优解的个数=(n-2)*(n-3)* ......* 2 * 1
(通过递规的方式穷举所有的结果)


//sigh,不要这么小看这道题目好不好?
再仔细思考思考吧

btw:你给出的所谓规则解是错的。




0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics