Advertisement
Guest User

Untitled

a guest
Jan 26th, 2020
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. class Solution {
  2. func canWinNim(_ n: Int) -> Bool {
  3. return canWinNim(n, myTurn: true)
  4. }
  5.  
  6. func canWinNim(_ n: Int, myTurn: Bool) -> Bool {
  7. if myTurn && n <= 3 {
  8. return true
  9. } else if !myTurn && n <= 3 {
  10. return false;
  11. }
  12.  
  13. let one = canWinNim(n-1, myTurn: !myTurn)
  14.  
  15. if myTurn && one {
  16. return true
  17. } else if !myTurn && !one {
  18. return false
  19. }
  20.  
  21. let two = canWinNim(n-2, myTurn: !myTurn)
  22.  
  23. if myTurn && two {
  24. return true
  25. } else if !myTurn && !two {
  26. return false
  27. }
  28.  
  29. let three = canWinNim(n-3, myTurn: !myTurn)
  30.  
  31. if myTurn && three {
  32. return true
  33. } else if !myTurn && !three {
  34. return false
  35. }
  36.  
  37. if myTurn {
  38. return false;
  39. } else {
  40. return true;
  41. }
  42. }
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement