• <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 閱讀(435) 評論(0)  編輯 收藏 引用 所屬分類: Algorithm
            亚洲AV日韩精品久久久久| 午夜精品久久久久久影视777 | 99久久国产主播综合精品| 精品综合久久久久久88小说| 国内精品久久久久影院亚洲| 无遮挡粉嫩小泬久久久久久久| 99久久亚洲综合精品成人| 国产成年无码久久久免费| 久久久久中文字幕| 人妻久久久一区二区三区| 久久精品二区| 国产99精品久久| 欧美精品乱码99久久蜜桃| 久久精品国产一区二区| 国内精品久久九九国产精品| 久久伊人色| 久久精品国产亚洲精品| 久久亚洲精品视频| 国产精品久久久久jk制服| 深夜久久AAAAA级毛片免费看| 久久亚洲综合色一区二区三区| 久久久久久久久久久| 久久男人中文字幕资源站| 999久久久国产精品| 久久精品国产99国产精偷 | 久久播电影网| 精品久久久久久无码国产| 欧美伊香蕉久久综合类网站| 久久精品国产久精国产思思| 人妻无码久久一区二区三区免费 | 久久亚洲精品中文字幕三区| 久久久av波多野一区二区| 中文字幕人妻色偷偷久久| 久久久久久久精品妇女99| 久久丫忘忧草产品| 2019久久久高清456| 日韩精品久久久久久免费| 久久精品中文无码资源站| 国产美女久久精品香蕉69| 国产精品毛片久久久久久久| 精品乱码久久久久久久|