海盗分金算法实现

     海盗分金 分配原则:等级最高的海盗提出一种分配方案。所有的海盗投票决定是否接受分配,包括提议人。并且在票数相同的情况下,提议人有决定权如果提议通过,那么海盗们按照提议分配金币。如果没有通过,那么提议人将被扔出船外,然后由下一个最高职位的海盗提出新的分配方案。 wiki
    假设每一个海盗都很机智,先利己再损人,按优先级遵守如下3条原则:
        1. 自己要能活下来。
        2. 拿更多的银子.哦!不,是金子!
        3. 好想看排在前面的海盗被丢到海里。

     算法实现思路 :首先根据策略算出除自己外还需要多少票,接着算出可以用金币收买多少海盗,然后算出为了保命而投票的海盗数,如果两者相加都不够,只能被丢到海里。问题的难点在于随着人数的增多,为了保命而投票的海盗数会动态变化。大家可以思考一下,如果有50个海盗分配5个金币,按照规则,有哪些海盗必死无疑,而哪些海盗能够幸运地活下来。

    以下是java算法实现:



  • 娴风洍鍒嗛噾绠楁硶瀹炵幇
    绛旓細     绠楁硶瀹炵幇鎬濊矾 :棣栧厛鏍规嵁绛栫暐绠楀嚭闄よ嚜宸卞杩橀渶瑕佸灏戠エ,鎺ョ潃绠楀嚭鍙互鐢ㄩ噾甯佹敹涔板灏娴风洍,鐒跺悗绠楀嚭涓轰簡淇濆懡鑰屾姇绁ㄧ殑娴风洍鏁,濡傛灉涓よ呯浉鍔犻兘涓嶅,鍙兘琚涪鍒版捣閲屻傞棶棰樼殑闅剧偣鍦ㄤ簬闅忕潃浜烘暟鐨勫澶,涓轰簡淇濆懡鑰屾姇绁ㄧ殑娴风洍鏁颁細鍔ㄦ佸彉鍖栥傚ぇ瀹跺彲浠ユ濊冧竴涓,濡傛灉鏈50涓捣鐩楀垎閰5涓噾...
  • 5涓娴风洍寰楀埌100鏋氶噾甯佸悗,璁ㄨ濡備綍杩涜鍒嗛厤
    绛旓細绛旀鏄細1鍙峰己鐩楀垎缁3鍙1鏋氶噾甯侊紝鍒嗙粰4鍙锋垨5鍙峰己鐩2鏋氾紝鑷繁鐙緱97鏋氥傚垎閰嶆柟妗堝彲鍐欐垚锛97锛0锛1锛2锛0锛夋垨锛97锛0锛1锛0锛2锛夈傗娴风洍鍒嗛噾鈥濆叾瀹炴槸涓涓珮搴︾畝鍖栧拰鎶借薄鐨勬ā鍨嬶紝浣撶幇浜嗗崥寮堢殑鎬濇兂銆傚湪鈥滄捣鐩楀垎閲戔濇ā鍨嬩腑锛屼换浣曗滃垎閰嶈呪濇兂璁╄嚜宸辩殑鏂规鑾峰緱閫氳繃鐨勫叧閿槸浜嬪厛鑰冭檻娓呮鈥滄寫鎴樿...
  • 娴风洍鍒嗛噾缂栫▼浠g爜
    绛旓細3. 100涓娴风洍鍒100涓噾甯侊紝绗1涓捣鐩楄寰楀埌鍙﹀49涓捣鐩楁敮鎸侊紝濡傛灉浠涔堥兘涓嶇粰锛屽ぇ瀹惰偗瀹氶兘鍙嶅锛屽洜涓哄弽瀵逛簡鍚庨潰鐨勬儏鍐典篃涓嶄細姣斾粈涔堜篃寰椾笉鍒版洿宸紝鎵浠ョ被浼间笂闈㈢殑鍒嗘瀽锛屽垎閰嶆柟妗堜负51, 0,1,0...0, 鍗冲叾浠栧崟鏁板彿寰楁捣鐩楀緱鍒1涓噾甯併4. i) 鍋囪鏈鍚庡墿5锛屼粬鍙互寰楀埌 104涓噾甯;II) 鍋囪鏈鍚庡墿4...
  • 5涓娴风洍寰楀埌100鏋氶噾甯佸悗,璁ㄨ濡備綍杩涜鍒嗛厤
    绛旓細閲囩敤鍙嶆帹杩囨潵鐨绠楁硶:5鍙疯〃鍐虫椂,褰㈡垚鐨勭姸鎬佹槸:1寰楀埌0涓疂鐭,姝2寰楀埌0涓疂鐭,姝3寰楀埌0涓疂鐭,姝4寰楀埌0涓疂鐭,姝5寰楀埌100涓疂鐭,娲,鍚屾剰鍘熷洜:涓嶇敤璁蹭簡,鑳借疆鍒5鍙疯〃鍐冲綋鐒朵粬鐙悶浜嗕絾鏄篃浼氫笌棰樼洰杩濊儗浜,鍥犱负鍓嶉潰鍑犱釜娴风洍閮芥槸鍌荤摐宸笉澶4鍙疯〃鍐虫椂,褰㈡垚鐨勭姸鎬佹槸:1寰楀埌0涓疂鐭,姝2寰楀埌0涓疂鐭,姝...
  • 扩展阅读:5个海盗分赃博弈答案 ... 海盗分金智力题大全 ... 海盗分金币 算法 ... 五个海盗分金币 ... 海盗分金币 博弈论 ... 九宫八卦口诀 ... 五个海盗分金数学题 ... 三个海盗 分金 ... 海盗分金问题解决方法 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网