def walkTheLabyrinth
: Karel
= {
def destinationOpen
( k
: Karel, n
: Int
) {
var karel
= k.
pickAllBeepers .
turn ( rng.
nextInt ( 4 ) )
val a
= Array
( karel.
beepersIn ( 0 ) , karel.
beepersIn ( 1 ) , karel.
beepersIn ( 2 ) , karel.
beepersIn ( 3 ) ) karel = karel.pickBeeperIn ( 0 ) .pickBeeperIn ( 1 ) .pickBeeperIn ( 2 ) .pickBeeperIn ( 3 )
val twos
= a.
count ( _ == 2 ) destinationOpen( karel.tearDownWall .moveForward .turnAround .tearDownWall .turnAround , n - 1 )
}
karel = karel.turnLeft
}
destinationOpen( karel.tearDownWall .moveForward .turnAround .tearDownWall .turnAround , n - 1 )
}
karel = karel.turnLeft
}
destinationOpen( karel.tearDownWall .moveForward .turnAround .tearDownWall .turnAround , n - 1 )
destinationFound( karel.tearDownWall .moveForward .turnAround .tearDownWall .turnAround , n - 1 )
}
karel = karel.turnLeft
}
}
}
def destinationFound
( k
: Karel, n
: Int
) {
var karel
= k.
pickAllBeepers .
turn ( rng.
nextInt ( 4 ) )
val a
= Array
( karel.
beepersIn ( 0 ) , karel.
beepersIn ( 1 ) , karel.
beepersIn ( 2 ) , karel.
beepersIn ( 3 ) ) karel = karel.pickBeeperIn ( 0 ) .pickBeeperIn ( 1 ) .pickBeeperIn ( 2 ) .pickBeeperIn ( 3 )
val twos
= a.
count ( _ == 2 ) destinationFound( karel.tearDownWall .moveForward .turnAround .tearDownWall .turnAround , n - 1 )
}
karel = karel.turnLeft
}
destinationFound( karel.tearDownWall .moveForward .turnAround .tearDownWall .turnAround , n - 1 )
}
karel = karel.turnLeft
}
}
}
destinationOpen( Karel( 1 , 1 , EAST, labyrinth) , N * N)
walkTheLabyrinthStatic
karel.dropBeeper .copy ( x = 1 , y = 1 ) .turnAwayFromWall
}
}
ICBkZWYgd2Fsa1RoZUxhYnlyaW50aDogS2FyZWwgPSB7CiAgICBjYXNlIGNsYXNzIFNvbHV0aW9uKGthcmVsOiBLYXJlbCkgZXh0ZW5kcyBFeGNlcHRpb24KICAgIAogICAgZGVmIGRlc3RpbmF0aW9uT3BlbihrOiBLYXJlbCwgbjogSW50KSB7CiAgICAgIGlmIChrLmNhdXNlc1BhcnRpdGlvbikgcmV0dXJuCgogICAgICB2YXIga2FyZWwgPSBrLnBpY2tBbGxCZWVwZXJzLnR1cm4ocm5nLm5leHRJbnQoNCkpCgogICAgICBpZiAobiA8PSAxKSB0aHJvdyBTb2x1dGlvbihrYXJlbCkKCiAgICAgIHZhbCBhID0gQXJyYXkoa2FyZWwuYmVlcGVyc0luKDApLCBrYXJlbC5iZWVwZXJzSW4oMSksIGthcmVsLmJlZXBlcnNJbigyKSwga2FyZWwuYmVlcGVyc0luKDMpKQogICAgICBrYXJlbCA9IGthcmVsLnBpY2tCZWVwZXJJbigwKS5waWNrQmVlcGVySW4oMSkucGlja0JlZXBlckluKDIpLnBpY2tCZWVwZXJJbigzKQoKICAgICAgdmFsIHR3b3MgPSBhLmNvdW50KF8gPT0gMikKICAgICAgaWYgKHR3b3MgPT0gMCkgewogICAgICAgIGZvciAoaSA8LSAwIHRvIDMpIHsKICAgICAgICAgIGlmIChhKGkpID4gMCkgewogICAgICAgICAgICBkZXN0aW5hdGlvbk9wZW4oa2FyZWwudGVhckRvd25XYWxsLm1vdmVGb3J3YXJkLnR1cm5Bcm91bmQudGVhckRvd25XYWxsLnR1cm5Bcm91bmQsIG4gLSAxKQogICAgICAgICAgfQogICAgICAgICAga2FyZWwgPSBrYXJlbC50dXJuTGVmdAogICAgICAgIH0KICAgICAgfSBlbHNlIGlmICh0d29zID09IDIpIHsKICAgICAgICBmb3IgKGkgPC0gMCB0byAzKSB7CiAgICAgICAgICBpZiAoYShpKSA9PSAyKSB7CiAgICAgICAgICAgIGRlc3RpbmF0aW9uT3BlbihrYXJlbC50ZWFyRG93bldhbGwubW92ZUZvcndhcmQudHVybkFyb3VuZC50ZWFyRG93bldhbGwudHVybkFyb3VuZCwgbiAtIDEpCiAgICAgICAgICB9CiAgICAgICAgICBrYXJlbCA9IGthcmVsLnR1cm5MZWZ0CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKHR3b3MgPT0gMSkgewogICAgICAgIGZvciAoaSA8LSAwIHRvIDMpIHsKICAgICAgICAgIGlmIChhKGkpID09IDIpIHsKICAgICAgICAgICAgZGVzdGluYXRpb25PcGVuKGthcmVsLnRlYXJEb3duV2FsbC5tb3ZlRm9yd2FyZC50dXJuQXJvdW5kLnRlYXJEb3duV2FsbC50dXJuQXJvdW5kLCBuIC0gMSkKICAgICAgICAgIH0gZWxzZSBpZiAoYShpKSA+IDApIHsKICAgICAgICAgICAgZGVzdGluYXRpb25Gb3VuZChrYXJlbC50ZWFyRG93bldhbGwubW92ZUZvcndhcmQudHVybkFyb3VuZC50ZWFyRG93bldhbGwudHVybkFyb3VuZCwgbiAtIDEpCiAgICAgICAgICB9CiAgICAgICAgICBrYXJlbCA9IGthcmVsLnR1cm5MZWZ0CiAgICAgICAgfQogICAgICB9CiAgICB9CgogICAgZGVmIGRlc3RpbmF0aW9uRm91bmQoazogS2FyZWwsIG46IEludCkgewogICAgICBpZiAoay5jYXVzZXNQYXJ0aXRpb24pIHJldHVybgoKICAgICAgdmFyIGthcmVsID0gay5waWNrQWxsQmVlcGVycy50dXJuKHJuZy5uZXh0SW50KDQpKQoKICAgICAgaWYgKG4gPD0gMSkgdGhyb3cgU29sdXRpb24oa2FyZWwpCgogICAgICB2YWwgYSA9IEFycmF5KGthcmVsLmJlZXBlcnNJbigwKSwga2FyZWwuYmVlcGVyc0luKDEpLCBrYXJlbC5iZWVwZXJzSW4oMiksIGthcmVsLmJlZXBlcnNJbigzKSkKICAgICAga2FyZWwgPSBrYXJlbC5waWNrQmVlcGVySW4oMCkucGlja0JlZXBlckluKDEpLnBpY2tCZWVwZXJJbigyKS5waWNrQmVlcGVySW4oMykKCiAgICAgIHZhbCB0d29zID0gYS5jb3VudChfID09IDIpCiAgICAgIGlmICh0d29zID09IDApIHsKICAgICAgICBmb3IgKGkgPC0gMCB0byAzKSB7CiAgICAgICAgICBpZiAoYShpKSA+IDApIHsKICAgICAgICAgICAgZGVzdGluYXRpb25Gb3VuZChrYXJlbC50ZWFyRG93bldhbGwubW92ZUZvcndhcmQudHVybkFyb3VuZC50ZWFyRG93bldhbGwudHVybkFyb3VuZCwgbiAtIDEpCiAgICAgICAgICB9CiAgICAgICAgICBrYXJlbCA9IGthcmVsLnR1cm5MZWZ0CiAgICAgICAgfQogICAgICB9IGVsc2UgaWYgKHR3b3MgPT0gMSkgewogICAgICAgIGZvciAoaSA8LSAwIHRvIDMpIHsKICAgICAgICAgIGlmIChhKGkpID09IDIpIHsKICAgICAgICAgICAgZGVzdGluYXRpb25Gb3VuZChrYXJlbC50ZWFyRG93bldhbGwubW92ZUZvcndhcmQudHVybkFyb3VuZC50ZWFyRG93bldhbGwudHVybkFyb3VuZCwgbiAtIDEpCiAgICAgICAgICB9CiAgICAgICAgICBrYXJlbCA9IGthcmVsLnR1cm5MZWZ0CiAgICAgICAgfQogICAgICB9CiAgICB9CgogICAgdHJ5IHsKICAgICAgZGVzdGluYXRpb25PcGVuKEthcmVsKDEsIDEsIEVBU1QsIGxhYnlyaW50aCksIE4gKiBOKQogICAgICB3YWxrVGhlTGFieXJpbnRoU3RhdGljCiAgICB9IGNhdGNoIHsKICAgICAgY2FzZSBTb2x1dGlvbihrYXJlbCkgPT4KICAgICAgICBrYXJlbC5kcm9wQmVlcGVyLmNvcHkoeCA9IDEsIHkgPSAxKS50dXJuQXdheUZyb21XYWxsCiAgICB9CiAgfQo=
compilation info
/opt/scala/bin/scalac: line 50: /dev/null: Permission denied
Main.scala:1: error: expected class or object definition
def walkTheLabyrinth: Karel = {
^
one error found
spoj: The program compiled successfully, but Main.class was not found.
Class Main should contain method: def main(args: Array[String]).
stdout