equal
  deleted
  inserted
  replaced
  
    
    
|         |      1 // Part 2 about finding a single tour for a board | 
|         |      2 //================================================ | 
|         |      3  | 
|         |      4 // copy any function you need from file knight1.scala | 
|         |      5  | 
|         |      6 object CW7b { | 
|         |      7  | 
|         |      8 type Pos = (Int, Int)    // a position on a chessboard  | 
|         |      9 type Path = List[Pos]    // a path...a list of positions | 
|         |     10  | 
|         |     11  | 
|         |     12 //(2a) Implement a first-function that finds the first  | 
|         |     13 //     element, say x, in the list xs where f is not None.  | 
|         |     14 //     In that case return f(x), otherwise None. If possible, | 
|         |     15 //     calculate f(x) only once. | 
|         |     16  | 
|         |     17 //def first(xs: List[Pos], f: Pos => Option[Path]) : Option[Path] = ... | 
|         |     18  | 
|         |     19 //(2b) Implement a function that uses the first-function for | 
|         |     20 //     trying out onward moves, and searches recursively for a | 
|         |     21 //     knight tour on a dim * dim-board. | 
|         |     22  | 
|         |     23 //def first_tour(dim: Int, path: Path) : Option[Path] = ... | 
|         |     24   | 
|         |     25  | 
|         |     26 } |