???作者:
pengkuny?? 百度到我們學(xué)校來(lái)招人的一道面試題,被貼在本校BBS上, 發(fā)帖者不屑一顧的加一句:"心算答案都出來(lái)了".
????? 我和寢室同學(xué)討論了老半天,也沒(méi)找到什么有效的算法,(當(dāng)然那種遍歷求解的算法不叫算法,小學(xué)生都會(huì).)
???? 直到我獲知"鬼魂算法"后,才拍案叫絕啊!它的思想真是"好,很好,非常好,好得很哪,真得非常好,不是一般的好!".所謂"鬼魂算法",是一個(gè)非正式名稱(chēng),網(wǎng)絡(luò)上都搜不到,也即把螞蟻視作鬼魂,可以彼此穿過(guò)對(duì)方的身體.
???? 廢話少說(shuō),且看貼.
???? 有一根27厘米的細(xì)木桿,在第3厘米、7厘米、11厘米、17厘米、23厘米這五個(gè)位置上各
有一只螞蟻。木桿很細(xì),不能同時(shí)通過(guò)一只螞蟻。開(kāi)始時(shí),螞蟻的頭朝左還是朝右是任
意的,它們只會(huì)朝前走或調(diào)頭,但不會(huì)后退。當(dāng)任意兩只螞蟻碰頭時(shí),兩只螞蟻會(huì)同時(shí)
調(diào)頭朝反方向走。假設(shè)螞蟻們每秒鐘可以走一厘米的距離。
編寫(xiě)程序,求所有螞蟻都離
開(kāi)木桿的最小時(shí)間和最大時(shí)間。
??? 再三說(shuō)明,32種情況遍歷求解傻瓜也會(huì),不要提它!
????
??? 好好想一想吧,尤其是最大時(shí)間是多少?
??? 也有人有更另類(lèi)的想法,不過(guò)感覺(jué)那種方法不太適合于編程.
posted on 2006-11-09 23:05
哈哈 閱讀(2982)
評(píng)論(17) 編輯 收藏 引用