• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            ???作者:pengkuny
            ?? 百度到我們學(xué)校來招人的一道面試題,被貼在本校BBS上, 發(fā)帖者不屑一顧的加一句:"心算答案都出來了".
            ????? 我和寢室同學(xué)討論了老半天,也沒找到什么有效的算法,(當(dāng)然那種遍歷求解的算法不叫算法,小學(xué)生都會.)

            ???? 直到我獲知"鬼魂算法"后,才拍案叫絕啊!它的思想真是"好,很好,非常好,好得很哪,真得非常好,不是一般的好!".所謂"鬼魂算法",是一個非正式名稱,網(wǎng)絡(luò)上都搜不到,也即把螞蟻視作鬼魂,可以彼此穿過對方的身體.
            ???? 廢話少說,且看貼.

            ???? 有一根27厘米的細(xì)木桿,在第3厘米、7厘米、11厘米、17厘米、23厘米這五個位置上各
            有一只螞蟻。木桿很細(xì),不能同時通過一只螞蟻。開始時,螞蟻的頭朝左還是朝右是任
            意的,它們只會朝前走或調(diào)頭,但不會后退。當(dāng)任意兩只螞蟻碰頭時,兩只螞蟻會同時
            調(diào)頭朝反方向走。假設(shè)螞蟻們每秒鐘可以走一厘米的距離。編寫程序,求所有螞蟻
            開木桿的最小時間和最大時間。

            ??? 再三說明,32種情況遍歷求解傻瓜也會,不要提它!
            ????
            ??? 好好想一想吧,尤其是最大時間是多少?

            ??? 也有人有更另類的想法,不過感覺那種方法不太適合于編程.
            posted on 2006-11-09 23:05 哈哈 閱讀(2972) 評論(17)  編輯 收藏 引用

            評論:
            # re: 百度公司來科大的面試題 2006-11-10 00:18 | 江水獸
            簡單 相當(dāng)于是智力題目吧 呵呵呵

            只要將每個螞蟻看作是木棍上的唯一的螞蟻 計算其通過的時間 再累加便可以了

            估計這也就是你說的“鬼魂算法”吧 呵呵呵  回復(fù)  更多評論
              
            # re: 百度公司來科大的面試題 2006-11-10 00:55 | Asp
            POJ上面好像也有這道題,當(dāng)時好像一下子沒想出來,原來這么簡單?  回復(fù)  更多評論
              
            # re: 百度公司來科大的面試題 2006-11-10 09:37 | pengkuny
            @江水獸
            好像不是哦,
            你說說最小時間和最大時間的具體數(shù)值吧  回復(fù)  更多評論
              
            # re: 百度公司來科大的面試題 2006-11-10 10:25 | 沐楓
            呵呵,確實是智力題啊。
            最小時間很快就出來了。
            最大時間,剛一開始給矇了。然后看到提示,就霍然開朗了。
            然后果然心算就出答案了。
            --
            問題是心算出答案的題目,如果用程序?qū)崿F(xiàn),那不變成了直接輸出答案了,這如何寫算法呢?太簡單的算法,不如不寫。寫復(fù)雜了,就不是最優(yōu)算法了。  回復(fù)  更多評論
              
            # re: 百度公司來科大的面試題 2006-11-10 10:35 | pengkuny
            @沐楓
            確實有這個問題,不知道那些畢業(yè)的師兄師姐們?nèi)绾翁幚?
            真要寫的話,也可以吧.O(1)時間完成  回復(fù)  更多評論
              
            # re: 百度公司來科大的面試題 2006-11-10 10:54 | 沐楓
            27cm,對半后是13.5cm.
            1. 這樣,離最近末端最大距離是11cm,因此,最小時間是11秒。
            2. 離最遠(yuǎn)的末端最大的距離是27-3=24cm,因此,最大時間是24秒。

            對不對,請指教?  回復(fù)  更多評論
              
            # re: 百度公司來科大的面試題 2006-11-10 11:06 | pengkuny
            @沐楓
            沒錯  回復(fù)  更多評論
              
            # re: 百度公司來科大的面試題 2006-11-10 11:52 | 江水獸
            @pengkuny

            哎呀 是我搞錯了 呵呵呵 真是不好意思呵!
            不是求和累加 而應(yīng)該是取最大最小值 呵呵呵  回復(fù)  更多評論
              
            # re: 百度公司來科大的面試題 2006-11-10 19:04 | chenger
            說實在的,一下就想到了作者所說的鬼魂算法。
            是個智力題  回復(fù)  更多評論
              
            # re: 百度公司來科大的面試題 2006-11-11 15:18 | 王小龍
            我是這么看的:
            1,最少的時間,不用說是11秒,即最難出來的螞蟻出來的時間。
            2,我們可以把5只螞蟻看成是無差別的,那么相遇后碰頭,再轉(zhuǎn)方向其實可以看成沒轉(zhuǎn)向,只是另一只螞蟻幫它完成任務(wù),即交換任務(wù)(因為是無差別的,所以相當(dāng)于沒掉頭),這樣,最大時間就是3位置的螞蟻出來的最大時間,是24。
            最大的時間24
            最小是11
              回復(fù)  更多評論
              
            # re: 百度公司來科大的面試題 2006-11-12 10:11 | pengkuny
            @王小龍
            沒錯.
            不過,我想要是把各螞蟻的速度改成各不相同,
            這道題就會變得很難,
            不知道又該如何解答?  回復(fù)  更多評論
              
            # re: 百度公司來科大的面試題 2006-11-13 08:51 | 路人
            速度不一樣就會有追逐,估計追上的那只螞蟻要轉(zhuǎn)向。這題沒說,不嚴(yán)謹(jǐn)。  回復(fù)  更多評論
              
            # re: 百度公司來科大的面試題 2006-11-16 21:38 | 愚蠢的人
            (當(dāng)然那種遍歷求解的算法不叫算法,小學(xué)生都會.)??

            照樓主這么說,我看這道題變成填空題好了,為什么不想用編程來驗證這種口算結(jié)果的正確性呢?
            編程是為了讓機器算,而不是人算,我認(rèn)為"鬼魂算法"是一種"神"算法,有人把遞歸算法看做神,那么它應(yīng)該是"超神",超神你知道吧,就是你根本不能用它做任何事,它只是告訴你結(jié)果. #@#@?@#$%#$??? 說明白一點,想出"鬼魂算法"只是一些聰明人(包括你在內(nèi))發(fā)現(xiàn)了一個有趣的現(xiàn)象.你需要做的是編程,然后讓機器去算出每一種結(jié)果,這樣誰都會知道正確的答案.
              回復(fù)  更多評論
              
            # re: 百度公司來科大的面試題 2006-11-17 09:40 | pengkuny
            @愚蠢的人
            學(xué)過算法課的都知道,
            算法設(shè)計就是要找到一種最優(yōu)代價的算法來解決問題,
            比如時間復(fù)雜度最優(yōu)或兼顧空間復(fù)雜度,
            如果是不講究優(yōu)化,
            一切交給計算機去算,
            那么,算法的意義何在?
            舉個例,"深藍(lán)"超級計算機大戰(zhàn)卡斯帕羅夫,(國際象棋)
            每一步,計算機都必須考慮它現(xiàn)在下的棋以及以后可能走的棋,
            每一步,都有10的401次方種走法,
            如果每次都讓計算機去算這10的401次方種走法,然后從中選擇一種最可能贏的走法,那么,超級計算機需要算上幾個世紀(jì)!

            而即便是小規(guī)模問題,優(yōu)化的算法的重要性也同樣重要.因為實際問題就是由無數(shù)個小規(guī)模問題組成.

            一個有趣的方法不僅僅是"just for fun",更重要的是,它代表了一種嶄新的思路.

            如果你熟悉各種排序算法的話,就會知道,counting sort(計數(shù)排序)思想是多么的巧妙,它甚至根本不必比較元素,任何規(guī)模的數(shù)組,它都在O(n+k)時間內(nèi)排序完畢.

            不說了.  回復(fù)  更多評論
              
            # re: 百度公司來科大的面試題 2006-11-20 00:16 | Asp
            Ns.....  回復(fù)  更多評論
              
            # re: 百度公司來科大的面試題 2006-11-29 23:26 | ATP
            這題為什么很難呢?
            有一道關(guān)于小球運動的物理競賽題(是高中的)和它異曲同工,一樣的思路,但要煩得多,一下找不到,過一段時間貼吧  回復(fù)  更多評論
              
            # re: 百度公司來科大的面試題 2006-12-12 16:52 | Dain
            可能都被題目中提到的寫程序?qū)崿F(xiàn)搞懵了
            其實仔細(xì)想想,這題就是一個智力題  回復(fù)  更多評論
              

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久精品国产一区二区| a级毛片无码兔费真人久久 | 亚洲色大成网站www久久九| 久久久精品久久久久特色影视| 亚洲婷婷国产精品电影人久久| AV无码久久久久不卡蜜桃| 国产精品免费看久久久香蕉| 久久乐国产综合亚洲精品| 国产精品久久午夜夜伦鲁鲁| 久久精品国产99久久丝袜| 日本久久久久亚洲中字幕| 久久久久久久综合综合狠狠| 亚洲AV日韩AV永久无码久久| 精品久久久久久无码人妻热| 久久久久99精品成人片直播| 久久久艹| 国产激情久久久久影院小草 | 久久精品国产亚洲7777| 久久亚洲AV成人出白浆无码国产| 国产一区二区精品久久岳| 97久久精品无码一区二区| 亚洲人成伊人成综合网久久久| 国产精品午夜久久| 国产精品VIDEOSSEX久久发布| 国产精品久久国产精麻豆99网站 | 久久精品综合网| 久久黄色视频| 国产无套内射久久久国产| WWW婷婷AV久久久影片| 久久亚洲精品成人av无码网站| 色老头网站久久网| 亚洲一级Av无码毛片久久精品| 久久久久人妻一区精品果冻| 国产香蕉97碰碰久久人人| 久久91精品综合国产首页| 大美女久久久久久j久久| 91超碰碰碰碰久久久久久综合 | 免费久久人人爽人人爽av| 久久久久久久久66精品片| 久久精品国产亚洲AV香蕉| 国产成人精品综合久久久|