• <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
            久久―日本道色综合久久| 国产精品成人99久久久久| 久久久噜噜噜久久| 精品久久久无码中文字幕天天| 国内精品久久国产大陆| AV无码久久久久不卡蜜桃 | 99久久做夜夜爱天天做精品| 一本色道久久88综合日韩精品 | 99久久亚洲综合精品成人| 99国产精品久久久久久久成人热| 久久免费精品视频| 色悠久久久久久久综合网| 精品久久亚洲中文无码| 91精品国产高清久久久久久国产嫩草 | 久久国产精品-久久精品| 亚洲成色999久久网站| 久久久久久国产精品美女| 东方aⅴ免费观看久久av| 久久精品国产亚洲一区二区| 人人狠狠综合久久亚洲| 久久超碰97人人做人人爱| 国产精自产拍久久久久久蜜| 亚洲午夜久久久久久久久久| 亚洲乱亚洲乱淫久久| 久久精品国产亚洲av麻豆小说| 久久久久久国产a免费观看不卡| 人妻久久久一区二区三区| 久久这里只有精品视频99| 久久精品嫩草影院| 国内精品人妻无码久久久影院导航| 久久久久女人精品毛片| 青青草原综合久久大伊人| 久久精品国产精品亚洲| 93精91精品国产综合久久香蕉| 亚洲精品乱码久久久久久蜜桃不卡| 久久久久18| 久久久WWW成人免费精品| 久久91精品久久91综合| jizzjizz国产精品久久| 精品乱码久久久久久久| 久久天天躁狠狠躁夜夜96流白浆|