• <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>

            coding everyday

            編程面試題 https://interview.codeplex.com

            C++博客 首頁 新隨筆 聯系 聚合 管理
              12 Posts :: 2 Stories :: 7 Comments :: 0 Trackbacks
            一座金字塔,從上到下,第一層有一個杯子、第二層有兩個杯子,依次類推。對杯子進行編號,有如下的形狀:


            1


            2
            3
            4
            5
            6

            每個杯子的容量為C升,從塔頂倒下L升水,當1號杯子滿了之后,會等量溢出到2號和3號杯子。當2號和3號滿了,2號溢出到4號和5號,3號溢出到5號和6號,注意5號接受來自兩個杯子的水。依次類推。給定C和L,請問,第n杯里有多少水。


            分析:(出題的人貌似是讓用動態規劃的方式來做,可是偶不懂動態規劃哦。。用我自己的思路來做。)

            可以看到這些杯子里面就兩類,一類就是靠邊的杯子,還有一類就是中間的,靠邊的杯子只能從它上面的一個杯子接水,而中間的可以從上面的2個杯子接水,我覺得這可以用分治算法的思路來做這個題目,因為底下杯子水的多少取決于它上面的杯子,上面的杯子又取決于再上面的。


            之前說過了,杯子就兩類,一類就是靠邊的,還有一類是中間的;對于靠邊的,它只能從它上面的一個杯子里面得到溢出的水的一半;中間的,可以得到它上邊左邊溢出的一半和右邊溢出的一半。這邊有個小問題,就是如果我們按照最終一個杯子里的水的數量來做的話,有問題,比如第1個杯子,它最終只有cL的水,對吧?但是我們應該當NL來考慮。所以這里我們考慮的杯子的水是所有流經它的數量,而非最終數量。

            那現在的問題就是,找出來特定杯子的水從哪來就OK了。靠邊的是從上面來,并且同一行的2個靠邊的是一樣的,所以只需要考慮上一行靠邊的溢出的/2就OK了。中間的(如5),它從2和3來的,可以看出來2和3分別是它上一行的左邊一個杯子和上一行相同位子的杯子。可以擴展幾層驗證一下。所以最后的問題就是如果把n轉換成第x層的第y個位子,就這么簡單。


            代碼如下:


            完整代碼:版本1版本2

            出題者的參考答案

            posted on 2013-08-01 13:43 everyday 閱讀(434) 評論(0)  編輯 收藏 引用 所屬分類: Algorithm
            影音先锋女人AV鲁色资源网久久| 香蕉久久一区二区不卡无毒影院| 国内精品综合久久久40p| 18岁日韩内射颜射午夜久久成人| 久久久久久无码Av成人影院| 久久久久国产精品嫩草影院 | 亚洲精品无码久久久久AV麻豆| 7777精品久久久大香线蕉| 国产激情久久久久影院老熟女| 精品国产99久久久久久麻豆| 九九99精品久久久久久| 综合久久一区二区三区| 成人精品一区二区久久久| 久久久久久人妻无码| 欧美一区二区久久精品| 国产成人香蕉久久久久| 久久99亚洲网美利坚合众国| 中文精品99久久国产| 国产精品免费久久| 色成年激情久久综合| 精品久久8x国产免费观看| 久久精品国产亚洲αv忘忧草 | 久久久无码精品亚洲日韩京东传媒 | 波多野结衣久久一区二区 | 亚洲精品国产字幕久久不卡| 久久久久综合中文字幕 | 国产精品久久免费| 亚洲精品无码专区久久久| 一本色道久久综合狠狠躁篇| 久久亚洲2019中文字幕| 国产精品免费看久久久香蕉| 国产精品激情综合久久| 国产亚洲精午夜久久久久久 | 国产精品久久久久蜜芽| 亚洲精品乱码久久久久久蜜桃| 国产三级精品久久| 久久国产影院| 久久笫一福利免费导航| 99久久99久久精品国产片果冻| 久久人人爽人人爽人人片AV高清 | 精品久久人妻av中文字幕|