leetcode464 Can I Win
2017-09-07 21:18
393 查看
思路:
博弈。
实现:
博弈。
实现:
1 class Solution 2 { 3 public: 4 bool dfs(int cur, int len, int sum, int des, vector<int>& dp) 5 { 6 if (sum >= des) return false; 7 if (dp[cur] != -1) return dp[cur]; 8 for (int i = 0; i < len; i++) 9 { 10 int tmp = 1 << i; 11 if (!(cur & tmp)) 12 { 13 if (!dfs(cur | tmp, len, sum + i + 1, des, dp)) 14 return dp[cur] = true; 15 } 16 } 17 return dp[cur] = false; 18 } 19 bool canIWin(int maxChoosableInteger, int desiredTotal) 20 { 21 if (!desiredTotal) return true; 22 if ((maxChoosableInteger * (maxChoosableInteger + 1) / 2) < desiredTotal) 23 return false; 24 vector<int> dp(1100000, -1); 25 return dfs(0, maxChoosableInteger, 0, desiredTotal, dp); 26 } 27 };
相关文章推荐
- [leetcode 464]Can I Win
- Leetcode 464 can i win
- LeetCode 464 Can I Win 题解
- leetcode 464 Can I Win
- 464 Can I Win
- [LeetCode] Can I Win
- 464. Can I Win**
- LeetCode13 Can I win
- [LeetCode] Can I Win 我能赢吗
- Leetcode: Can I Win
- LeetCode Can I Win
- LeetCode 464. Can I Win--动态规划
- leetcode 605. Can Place Flowers
- LeetCode 605. Can Place Flowers (可以种花)
- leetcode_464. Can I Win ? 待解决
- ZZULIOJ 2131 Can Win【思维建图+最大流】
- LeetCode 605 : Can Place Flowers
- LeetCode: 605. Can Place Flowers
- LeetCode 605.Can Place Flowers
- 【LeetCode】605. Can Place Flowers 解题报告