2016 Update
This commit is contained in:
parent
948b86eafa
commit
dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions
|
|
@ -0,0 +1,21 @@
|
|||
object Chess960 extends App {
|
||||
private def apply(b: String, e: String) {
|
||||
if (e.length <= 1) {
|
||||
val s = b + e
|
||||
if (is_valid(s)) patterns += s
|
||||
} else
|
||||
for (i <- 0 until e.length)
|
||||
apply(b + e(i), e.substring(0, i) + e.substring(i + 1))
|
||||
}
|
||||
|
||||
private def is_valid(s: String) = {
|
||||
val k = s.indexOf('K')
|
||||
if (k < s.indexOf('R')) false
|
||||
else k < s.lastIndexOf('R') && s.indexOf('B') % 2 != s.lastIndexOf('B') % 2
|
||||
}
|
||||
|
||||
private val patterns = scala.collection.mutable.SortedSet[String]()
|
||||
|
||||
apply("", "KQRRNNBB")
|
||||
for ((s, i) <- patterns.zipWithIndex) println(s"$i: $s")
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue