Каждый из 10 населенных пунктов соединен автодорогами (без проезда через промежуточные пункты). При этом автобусное сообщение существует только между следующими населенными пунктами: Нахабино и Аникеевка, Прудок и Ермолино и Любань, Бужарово и Марушкино, Нахабино и Любань, Аникеевка и Ермолино и Бужарово, Дарна и Кашино, Дарна и Кашино и Марушкино.
1. Постройте граф по этому описанию.
2. Сколько всего существует автодорог между населенными пунктами?
3. Можно ли с автобусного сообщения попасть из Нахабино в Прудок?
4. С каким наименьшим количеством пересадок можно доехать из Марушкино в Прудок?
5. Какой маршрут можно открыть, что бы автобусное сообщение существовало между всеми 10 населенными пунктами?
const
m=6;
n=7;
var
a:array[1..m,1..n] of integer;
i,j,k,x,y,x1,y1,s:integer;
begin
Randomize;
Write('Введите через пробел x и y: '); Read(x,y);
if y<x then begin s:=x; x:=y; y:=s end;
Writeln('Исходный массив');
if x<0 then x1:=2*x else x1:=x div 2;
if y<0 then y1:=y div 2 else y1:=2*y;
k:=y1-x1+1; s:=0;
for i := 1 to m do
begin
for j := 1 to n do
begin
a[i,j]:=Random(k)+x1;
Write(a[i,j]:4);
if (a[i,j]>=x) and (a[i,j]<=y) then s:=s+a[i,j]
end;
Writeln
end;
for j:=1 to n do a[1,j]:=s;
Writeln('Результирующая матрица');
for i := 1 to m do
begin
for j := 1 to n do Write(a[i,j]:4);
Writeln
end
end.
Тестовое решение:
Введите через пробел x и y: -5 10
Исходный массив
0 11 -6 15 -8 -2 -6
9 0 6 1 11 -2 -1
2 9 13 -1 6 0 9
6 1 -5 8 -3 0 -5
8 4 -8 7 -6 6 11
18 -1 15 -8 -9 -9 20
Результирующая матрица
62 62 62 62 62 62 62
9 0 6 1 11 -2 -1
2 9 13 -1 6 0 9
6 1 -5 8 -3 0 -5
8 4 -8 7 -6 6 11
18 -1 15 -8 -9 -9 20
1.
SELECT Перевозки.ДатаОтгрузки, Перевозки.НомерВагона, Перевозки.КодГруза, Перевозки.Стоимость, Перевозки.ДатаВозвратаВагона
FROM Перевозки
WHERE (((Month([ДатаОтгрузки]))>=1 And (Month([ДатаОтгрузки]))<7) AND ((Year([ДатаОтгрузки]))=Year(Date())-1))
ORDER BY Перевозки.ДатаОтгрузки, Перевозки.НомерВагона;
2.
SELECT DISTINCTROW НаименованиеГруза.Наименование, Avg(Перевозки.Стоимость) AS [Avg-Стоимость], Year([Перевозки]![ДатаОтгрузки]) AS [Год отгрузки]
FROM НаименованиеГруза INNER JOIN Перевозки ON НаименованиеГруза.Код = Перевозки.КодГруза
GROUP BY НаименованиеГруза.Наименование, Year([Перевозки]![ДатаОтгрузки]), Перевозки.КодГруза;
3. не знаю как срок считать
4.
SELECT DISTINCTROW Sum(Перевозки.Стоимость) AS [ОбщаяСтоимость перевозок за период]
FROM Перевозки
HAVING (((Перевозки.ДатаОтгрузки) Between [:d1] And [:d2]));