Advertisement
Guest User

Untitled

a guest
Apr 6th, 2014
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.73 KB | None | 0 0
  1. def hb(state:StateA):Int = {
  2.     if(state.y < mapa.N /2) {
  3.       mapa.transports.foldLeft(2*mapa.N)((a,b) => {
  4.         val lijevi = b._2.filter(i=>i._1 < mapa.N/2)
  5.         val desni = b._2.filterNot(i=>i._1 < mapa.N/2)
  6.         val udaljenost = lijevi.foldLeft(2*mapa.N)((r,k) => {
  7.           val d = desni.foldLeft(2*mapa.N)((rd,kd) => {
  8.             val x = Math.abs(state.x - k._1) + Math.abs(state.y - k._2) +Math.abs(kd._1 - k._1) + Math.abs(kd._2 - k._2)
  9.             if(x<rd) x
  10.             else rd
  11.           })
  12.           if(d < r) d
  13.           else r
  14.         })
  15.         if(udaljenost < a) udaljenost
  16.         a
  17.       })
  18.     } else {
  19.       Math.abs(state.x - mapa.getEnd()._1) + Math.abs(state.y - mapa.getEnd()._2)
  20.     }
  21.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement