Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. package main
  2.  
  3. import "fmt"
  4.  
  5. type State [10]int
  6.  
  7. func (s State) clone() State {
  8. return s
  9. }
  10.  
  11. func (s *State) iteration() bool {
  12. if s[3] > 0 && s[5] > 0 {
  13. s[6]++
  14. s[3]--
  15. s[5]--
  16. return false
  17. } else if s[2] > 0 && s[6] > 0 {
  18. s[0]++
  19. s[1]++
  20. s[5]++
  21. s[2]--
  22. s[6]--
  23. return false
  24. } else if s[1] > 0 && s[6] > 0 {
  25. s[7]++
  26. s[1]--
  27. s[6]--
  28. return false
  29. } else if s[0] > 0 && s[7] > 0 {
  30. s[8]++
  31. s[0]--
  32. s[7]--
  33. return false
  34. } else if s[1] > 0 && s[4] > 0 {
  35. s[9]++
  36. s[1]--
  37. s[4]--
  38. return false
  39. } else if s[9] > 0 {
  40. s[3]++
  41. s[4]++
  42. s[9]--
  43. return false
  44. } else if s[8] > 0 {
  45. s[2]++
  46. s[7]++
  47. s[8]--
  48. return false
  49. } else if s[7] > 0 {
  50. s[3]++
  51. s[4]++
  52. s[7]--
  53. return false
  54. } else if s[6] > 0 {
  55. s[6]--
  56. return s[6] == 0 && s[1] == 0 && s[2] == 0 && s[3] == 0 && s[4] == 0 && s[5] == 0
  57. } else if s[5] > 0 {
  58. s[4]++
  59. s[5]--
  60. return false
  61. } else if s[4] > 0 {
  62. s[5]++
  63. s[4]--
  64. return false
  65. } else if s[0] > 0 {
  66. s[1]++
  67. s[2]++
  68. s[0]--
  69. return false
  70. } else if s[3] > 0 {
  71. s[3]--
  72. return false
  73. }
  74. s[2]++
  75. s[4]++
  76. return false
  77. }
  78.  
  79. func fun(n int) string {
  80. if n == 0 {
  81. return "⚪"
  82. } else if n == 1 {
  83. return "⚫"
  84. }
  85. panic(n)
  86. }
  87.  
  88. func main() {
  89. var s State = [10]int{1, 0, 0, 0, 0, 0, 0, 0, 0, 0}
  90. var i int
  91.  
  92. for iter := 1; iter < 10000; iter++ {
  93. if ok := s.iteration(); ok {
  94. i++
  95. }
  96. fmt.Printf("%4d: %3d, %3d, %3d, %3d %s%s%s%s%s%s\n", iter, s[0], s[1], s[2], s[3], fun(s[4]), fun(s[5]), fun(s[6]), fun(s[7]), fun(s[8]), fun(s[9]))
  97. }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement