Prob_Solve 板


LINE

Retrograde Method: http://codepad.org/i3CsFKnT (Perl) 不知道有没有写错 还请各位帮我看看 ※ 引述《powertodream (The Beginning)》之铭言: : https://leetcode.com/problems/can-i-win/#/description : 是两个人互相取数字, 当第一个人取的数字超过目标, 就return true : 原本的想法是, player 1 挑全部没选过的number, 然後 呼叫secondPlayerWin的 : function : 去判断是不是有存在secondPlayer win的, 只要有存在A 选的这个number就是不行的 : 不过写不太好的吃了个wrong answer, : 偷看看讨论串解答 : 看了很多的作法, 都是做类似 : !helper(desiredTotal - i) : 的递回, : 想半天仍然不太懂... 有版友有兴趣一起研究研究吗? : 这个是原作者的解释, 但是我仍然不懂他的意思, 为什麽code要写成那样 : ** : The strategy is we try to simulate every possible state. E.g. we let this : player choose any unchosen number at next step and see whether this leads to : a win. If it does, then this player can guarantee a win by choosing this : number. If we find that whatever number s/he chooses, s/he won't win the : game, then we know that s/he is guarantee to lose given such a state. : // try every unchosen number as next step : for(int i=1; i<used.length; i++){ : if(!used[i]){ : used[i] = true; : // check whether this lead to a win, which means : helper(desiredTotal-i) must return false (the other player lose) : if(!helper(desiredTotal-i)){ : map.put(key, true); : used[i] = false; : return true; : } : used[i] = false; : } : } : map.put(key, false); --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.221.80.36
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Prob_Solve/M.1495012761.A.81D.html
1F:推 powertodream: 看不懂 可以分享想法吗? 05/18 00:58
想法: 1. 用二进位做状态编码 Ex. MAX = 5, (5,4,1) ,则 state = 11001 (4,3,2,1),则 state = 01111 2. 一开始初始所有状态值都是「输型」(值为: 0) 3. 从最後一个状态(所有数字都取的状态)开始往前推 (Retrograde Method) 4. 当前状态是输型的话,则把当前状态拿掉一个数字後(假设叫: 先前状态) 设先前状态为「赢型」(值为: 1) ps. 如果拿掉一个数字後(剩余数字和) >= desiredTotal,略过不做事情 5. 当前状态是赢型的话,略过不做事情 6. 最後看第一个状态(所有数字都不取的状态),是输型还是赢型即可 ※ 编辑: cutekid (210.61.233.210), 05/18/2017 14:15:46







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP