IPT 200707 如何隔断正方形

作者: , 共 252 字

今年 IBM 七月份的 Ponder This 问题(原题在这里,英文):

一个单位正方形的土地,其内(包括边界)建一些篱笆,使得任何与正方形相交的线段都被篱笆阻断(即与篱笆相交),问所建篱笆的总长度最少要多长?

有趣的是提出问题者自己虽然有一个构建方法,但还不知道怎么证明为什么是最短的。他的方法十有八九就是下面(实线部分):

square

当然我现在也还不会证明。

答案已经出来了,我不幸猜错了...正确答案是如szuxjq 所说,关键在于四个顶点并不需要全部连通,最后答案图形应该是这样子的(实线部分):

ibm-ponder-this-2007-jul

Q. E. D.

我很早之前就想过这个问题,但一直只知道一个 trivial 的答案。前两天无意中发现网上已经有高手给出了更好的方案,故记录在此。有兴趣的可以自己想一想。
最近做社会实践项目遇到的一个问题,需要动态修改一个表格。本来以为要想修改一行,直接设置新的 tr.innerHTML 即可。后来发现在 Firefox 下可行,但在 IE 下通不过,查看了一下帮助,才发现 innerHTML 还没有一个通用标准,而在 IE 下innerHTML对于标签为 COL, COLGROUP, FRAMESET, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, TR 的元素是只读的。要想在 IE 下动态修改表格,只能使用 insertRow 和 insertCell;