Саша живёт на улице, вдоль которой расположены N домов. Так случилось, что его дом — единственный дом без магазина. В остальных домах есть ровно один магазин ровно одного из K типов. Саша хочет что-то купить в магазине каждого типа, поэтому он ищет маршрут по улице, который начнётся и закончится у его дома, а по пути пройдёт через все K типов магазинов хотя бы по разу.
Маршрут должен представлять из себя такую последовательность домов на Сашиной улице, что любые два соседних пункта маршрута являются соседними домами на улице. Длиной такого маршрута будем называть количество перемещений между соседними домами.
Найдите наименьшую возможную длину такого маршрута
Program velobike;
Uses crt,graph;
Var gr:integer;
gm:integer;
x,y:integer;
begin
gr:=detect;
initgraph(gr,gm,'..\bgi');
x:=600;
y:=250;
repeat
for x:=0 to 600 do
begin
cleardevice;
setbkcolor(8);
setcolor(2);
setlinestyle(1,0,1);
rectangle(1,3,639,475);
setfillstyle(1,6);
bar(2,280,638,475);
setcolor(6);
setfillstyle(1,2);
circle(x-150,y,27);
floodfill(x-140,y-10,6);
setcolor(yellow);
circle(x-150,y,3);
setcolor(6);
setfillstyle(1,2);
circle(x-0,y,27);
floodfill(x-0,y-10,6);
setcolor(yellow);
circle(x-0,y,3);
setcolor(yellow);
circle(x-70,y,10);
circle(x-70,y,2);
setcolor(yellow);
arc(x-150,y,355,190,30);
arc(x-0,y,445,200,30);
setcolor(2);
setlinestyle(0,0,2);
line(0,280,639,280);
setcolor(white);
setlinestyle(0,2,3);
moveto(x-110,y-50);
lineto(x-15,y-50);
moveto(x-150,y);
lineto(x-70,y);
lineto(x-10,y-35);
moveto(x-70,y);
lineto(x-110,y-50);
moveto(x-150,y);
lineto(x-110,y-50);
moveto(x-150,y);
lineto(x-170,y-35);
lineto(x-123,y-35);
moveto(x-0,y);
lineto(x-20,y-73);
lineto(x-40,y-60);
moveto(x-20,y-73);
lineto(x-12,y-90);
moveto(x-150,y);
lineto(x-180,y-10);
moveto(x-0,y);
lineto(x-30,y);
setcolor(6);
setlinestyle(0,0,1);
moveto(x-70,y);
lineto(x-55,y-20);
setcolor(red);
lineto(x-45,y-20);
setcolor(8);
moveto(x-70,y);
lineto(x-75,y+20);
setcolor(6);
lineto(x-85,y+20);
setcolor(6);
moveto(x-110,y-50);
lineto(x-115,y-63);
setcolor(red);
moveto(x-40,y-60);
lineto(x-50,y-60);
moveto(x-12,y-90);
lineto(x-22,y-90);
setcolor(red);
setlinestyle(0,0,3);
moveto(x-123,y-63);
lineto(x-103,y-63);
delay(10000);
end;
settextstyle(0,0,3);
cleardevice;
setcolor(red);
outtextxy(30,240,'XoTuTe IIocMoTpeTb eLLLe?');
outtextxy(100,280,' Ha}|{MuTe Enter ');
readln;
until keypressed;
readln;
closegraph;
end.