Mətbəx robotu
Robotlar zamanla daha da populyarlaşır. Bu gün onları yalnız böyük zavodlarda deyil, həm də ev şəraitində istifadə edirlər. Bir proqramçı dostları ilə birlikdə öz ev robotunu yaratmağa qərar verdi. Bildiyiniz kimi, əksər proqramçılar axşamlar toplaşıb pivə içməyi sevirlər. Bu tədbirdən sonra masada çoxlu boş şüşələr qalır. Buna görə də masadan boş şüşələri toplaya bilən bir robot yaratmağa qərar verildi.
Masa uzunluğu və eni olan bir düzbucaqlıdır. Robot nöqtəsindən başlayır və şüşə nöqtələrində yerləşir. Şüşəni götürmək üçün robot onun yerləşdiyi nöqtəyə hərəkət etməli və onu götürməlidir, sonra isə şüşəni masanın sərhədindəki bir nöqtəyə aparıb buraxmalıdır. Robot istənilən anda yalnız bir şüşə tuta bilər və onu yalnız masanın sərhədində buraxa bilər.
Şüşələrin və robotun ölçülərini o qədər kiçik hesab edin ki, onlara məhəl qoyulmasın (robot və şüşələr nöqtələrdir). Robot, şüşəni tutarkən, başqa bir şüşənin yerləşdiyi nöqtədən keçə bilər.
Robotun alt proqramlarından biri marşrut planlaşdırmasıdır. Sizdən robotun bütün şüşələri toplayacağı minimal uzunluqlu marşrutu tapacaq bir proqram yazmağınız tələb olunur.
Giriş verilənləri
Birinci sətir masanın eni və uzunluğu olan iki tam ədəd və ehtiva edir.
İkinci sətir masadakı şüşələrin sayını ehtiva edir. Növbəti sətirin hər biri -ci şüşənin koordinatları olan iki tam ədəd və ehtiva edir. Heç bir iki şüşə eyni nöqtədə yerləşmir.
Giriş məlumatlarının son sətiri robotun başlanğıc mövqeyinin koordinatları olan iki tam ədəd və ehtiva edir. Robot heç bir şüşə ilə eyni nöqtədə yerləşmir.
Çıxış verilənləri
Robotun bütün şüşələri toplayacağı ən qısa yolun uzunluğunu çıxarın. Hesablama dəqiqliyi -dan çox olmamalıdır.