Поделитесь своими знаниями, ответьте на вопрос:
Имя входного файла: стандартный ввод имя выходного файла: стандартный вывод ограничение по времени: 2 секунды ограничение по памяти: 256 мегабайт — все шутите? — давно бросил. врачи запрещают. — с каких это пор вы стали ходить по врачам? — сразу после смерти. из сценария фильма «тот самый мюнхгаузен» барон мюнхгаузен в том самом фильме решил «превратиться» в садовника мюллера. каждый день он занимался поливом цветов в своём саду. в саду проложены тропинки, и эти тропинки соединяются между собой. можно считать, что тропинки являются рёбрами связного неориентированного графа, а их точки соединения — вершинами. кратные рёбра и петли в этом графе отсутствуют. тропинки имеют разную длину, в терминах графа длина тропинки — это вес ребра. поскольку жизнь барона после ухода в садовники стала довольно скучна и однообразна, он иногда придумывает себе довольно странные развлечения. путь барона по саду всегда начинается в вершине 1. он выбирает некоторое число k — количество тропинок по которым он хочет пройти, а затем отыскивает путь минимальной длины, исходящий из вершины 1 и состоящий из такого количества тропинок. ваша — определить минимально возможную длину такого пути. поскольку авторы настаивали на обязательном присутствии её формальной постановки, её ниже дан связный неориентированный взвешенный граф из n вершин и m рёбер без кратных рёбер и петель. дано q запросов. каждый запрос — целое число ki , нужно найти минимально возможный суммарный вес пути, начинающегося в вершине 1 и состоящего из ki рёбер (вершины и рёбра в пути могут повторяться формат входных данных в первой строке содержатся целые числа n и m (2 6 n 6 1500, 1 6 m 6 15000) — количество вершин и количество рёбер графа. во второй строке содержится m целых чисел from1, from2, . . , fromm, fromi — первый конец ребра #i. в третьей строке содержится m целых чисел to1, to2, . . , tom, toi — второй конец ребра #i. в четвёртой строке содержится m целых чисел w1, w2, . . , wm, wi —вес ребра #i. ограничения на эти данные: 1 6 fromi , toi 6 n, fromi 6= toi , 1 6 wi 6 5 · 108 . в пятой строке содержится целое число q (1 6 q 6 5 · 105 ) — количество запросов. в шестой строке содержится q целых чисел k1, k2, . . , kq, (0 6 ki 6 109 , k1 < k2 < . . < kq). формат выходных данных выведите q целых чисел через пробел — ответы на запросы. каждый ответ — минимально возможный суммарный вес пути из вершины 1, содержащего ровно ki рёбер (возможны повторения вершин и рёбер в пути).
function preobr(s:string):string;var i,j,p,n,sered:integer; gl,zp,slovo:string; m:array [1..80] of string;beginzp:='!?*,.'; gl:='аоуыэяеёюи'; p:=pos(' ',s); i:=0; repeat inc(i); slovo:=copy(s,1,p-1); m[i]:=slovo; delete(s,1,p); p:=pos(' ',s); until p=0; n:=i+1; m[n]:=s; for i:=1 to n do begin s:=m[i]; if pos(s[length(s)],zp)<>0 then p:=length(s)-1 else p:=length(s); sered:=(p div 2)+1; if (not odd(p)) or (p<3) then continue; if pos(s[1],gl)=0 then continue; if pos(s[sered],gl)=0 then continue; if pos(s[p],gl)=0 then continue; s[1]:=UpCase(s[1]); s[sered]:=UpCase(s[sered]); s[p]:=UpCase(s[p]); m[i]:=s+'('+s[1]+','+s[sered]+','+s[p]+')'; end; s:=''; for i:=1 to n do s:=s+m[i]+' '; preobr:=s;end;
beginassign(f,'input.txt'); reset(f);assign(t,'output.txt'); rewrite(t); while not eof(f) do begin readln(f,s); writeln(t, preobr(s) ); end; writeln('Файл успешно записан...'); close(f);close(t);readln;end.