原帖由金圭子于2005-07-11, 13:28:53发表
你的意思是:
1003->1->2005->2->2004->3->2003->...->1001->1005->1002->1004
这样么?好像是我误解了,这样的确多一点,多处1002,就是2009010+1002=2010012
其实这个关键是第一个点和最后一个点之间的距离要尽可能小,不然就把把最后一个点放到第一个走(或者反一下),知道两个之间相隔为1,
而如果走完一个循环(就从最后一点再走一次到第一点,完成一个循环)的路程应该是一样的。
我的路线长度也只有2010011……
关于走成循环,路线应该是不一样的:(从A1开始)
循环路程S=|A1-A2|+|A2-A3|+|A3-A4|+……+|A2004-A2005|+|A2005-A1|
由于路线肯定要折返走才比较长,所以肯定上式|...|内的值必定正负交替……
S=A1-A2-A2+A3+A3-A4+...-A2004+A2005+A2005-A1
=(A3+A5+A7+...A2005)·2-(A2+A4+A6+...A2004)·2
就是说第一根杆子被牺牲掉了,然后前半部分求最大值,后半部分求最小值
得到S=(1004+1005+...2005)·2-(1+2+3...1002)·2=2010012
若上面1004和1002调换,S值只能是2010008,可见即使是循环线路,也不是一样长的