import kotlin.math.abs const val riesenieSila = 92 const val riesenieSmer = 15 data class Riesenie(val sila: Int, val smer: Int) { fun cost() : Int = abs(riesenieSila - sila) + abs(riesenieSmer - smer) } fun main() { // vytvorenie nahodneho riesenia var riesenie = Riesenie(50, 60) while(true) { // ziskanie susednych rieseni val noveRiesenia = arrayOf( Riesenie(riesenie.sila - 1, riesenie.smer), Riesenie(riesenie.sila + 1, riesenie.smer), Riesenie(riesenie.sila, riesenie.smer - 1), Riesenie(riesenie.sila, riesenie.smer + 1) ) val najlepsieNoveRiesenie = noveRiesenia.minByOrNull{ it.cost() }!! // vyhodnotenie if (najlepsieNoveRiesenie.cost() > riesenie.cost()) { break } else { riesenie = najlepsieNoveRiesenie } } println("najlepsie riesenie - ${riesenie.sila} / ${riesenie.smer}") }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter