fork download
  1. object Main extends App {
  2. val tv: Array[Array[Int]] = Array(
  3. Array(0, 1, 3, 4, 5),
  4. Array(1, 0, 2, 3, 4),
  5. Array(3, 2, 0, 1, 2),
  6. Array(4, 3, 1, 0, 1),
  7. Array(5, 4, 2, 1, 0))
  8.  
  9. val a = (0 until tv.length).permutations.toList
  10. val all = a.map(list => (list.map(_ + 1), list.sliding(2).map(p => tv(p(1))(p(0))).sum))
  11. val min = all.minBy(_._2)._2
  12. println(all.filter(_._2 == min))
  13. }
Success #stdin #stdout 0.44s 382144KB
stdin
Standard input is empty
stdout
List((Vector(1, 2, 3, 4, 5),5), (Vector(5, 4, 3, 2, 1),5))