C. иннокентий и одна известная страна
иннокентий работает в одной большой корпорации. сейчас его является открытие филиала в новой стране. в стране n городов соединенных n − 1 дорогой так, что из любого
города можно добраться до любого другого.
открытие филиала — дело ответственное. филиал должен располагаться в городе, стоимость
транспортировки из которого минимальна. для этого иннокентий придумал следующую форму
расчета: пусть u — выбранный город, а vi — соседние города, то есть такие, в которые можно
попасть из
p
u, проехав ровно по одной дороге. тогда стоимость транспортировки определяется как
(dvi + 1)2
, где dvi — длина наибольшего пути, начинающегося в городе vi
, который не проходит
дважды через какой-либо город и не проходит через u. иннокентию выбрать город, в
котором нужно разместить склад, чтобы стоимость была минимальной.
формат входных данных
в первой строке входного файла записано число n — количество городов (1 6 n 6 5 · 105
).
в следующих n − 1 строках дано описание дорог. каждая строка содержит по два целых числа
u и v — номера городов, которые соответствующая дорога соединяет (1 6 u, v 6 n, u 6= v).
формат выходных данных
в выходной файл необходимо вывести два числа: наименьшую стоимость размещения филиала
и город, при выборе которого она достигается. если подходящих ответов несколько, выведите любой
из них.
Var a1,a2,a3,a4,t1,t2,t3,p,d,vp,b: Integer;
begin
writeln ('программа вычисляет норму для данного ученика');
writeln ('введи массу учебника 1');readln (a1);
writeln ('введи массу учебника 2');readln (a2);
writeln ('введи массу учебника 3');readln (a3);
writeln ('введи массу тетради 1');readln (t1);
writeln ('введи массу тетради 2');readln (t2);
writeln ('введи массу тетради 3');readln (t3);
writeln ('введи массу пенала');readln (p);
writeln ('введи массу дневника');readln (d);
writeln ('введи массу портфеля');readln(vp);
b:=a1+a2+a3+a4+t1+t2+t3+p+d+vp;writeln ('общая масса портфеля= ' b);
if (b<=5) then writeln ('норма') else writeln ('ненорма');
readln;
end.
<p>program xxx;</p><p> var i, k, d, e, s : integer;</p><p>begin</p><p> k:=0;</p><p> for i:= 10 to 99 do</p><p> begin</p><p> d:= i div 10;</p><p> e:= i mod 10;</p><p> s:=d + e;</p><p> if i mod s = 0 then k:=k+1</p><p> end;</p><p> write ('кол-во чисел которые делятся на сумму своих цифр=', k);</p><p> readln</p><p>end.</p>