summaryrefslogtreecommitdiff
path: root/test/files/run/queens.scala
diff options
context:
space:
mode:
Diffstat (limited to 'test/files/run/queens.scala')
-rw-r--r--test/files/run/queens.scala49
1 files changed, 0 insertions, 49 deletions
diff --git a/test/files/run/queens.scala b/test/files/run/queens.scala
deleted file mode 100644
index ba812f5971..0000000000
--- a/test/files/run/queens.scala
+++ /dev/null
@@ -1,49 +0,0 @@
-// $Id$
-
-object M0 {
- type Placement = List[Int];
-
- def range(lo: Int, hi: Int): List[Int] =
- if (lo > hi) List()
- else lo :: range(lo + 1, hi);
-
- def abs(x: Int) = if (x < 0) 0 - x else x;
-
- def queens(n: Int): List[Placement] = {
- val columns = range(1, n);
- def placeQueens(row: Int): List[Placement] = {
- if (row == 0)
- List(List())
- else {
- def isSafe(col: Int, p: Placement, delta: Int): Boolean =
- p.isEmpty ||
- (col != p.head &&
- abs(col - p.head) != delta &&
- isSafe(col, p.tail, delta + 1));
-
- for (
- val placement <- placeQueens(row - 1);
- val col <- columns;
- isSafe(col, placement, 1)
- ) yield {
- col :: placement
- }
- }
- }
- placeQueens(n);
- }
-
- def test = {
- System.out.println("Solutions to 1 queens: " + queens(1));
- System.out.println("Solutions to 2 queens: " + queens(2));
- System.out.println("Solutions to 3 queens: " + queens(3));
- System.out.println("Solutions to 4 queens: " + queens(4));
- }
-}
-
-object Test {
- def main(args: Array[String]): Unit = {
- M0.test;
- ()
- }
-}