> 1 <

Автор Сообщение

Artyom

Members


Статус

6 сообщений

Где: Russia
Род занятий:
Возраст:

#1629   2010-03-18 23:21 GMT+3 часа(ов)      
Указания.спользуя списковое представление графов и рекурсивные функции, разработать программу, находящую решение, в соответствии с приведенными ниже вариантами. Не разрешается использовать операторы цикла и оператор PROG.

1) Дана схема метрополитена, найти кратчайший путь между станциями. Длина пути определяется количеством проезжаемых станций. Пересадка приравнивается к станции.

отредактировал(а) Artyom: 2010-03-19 01:35 GMT+3 часа(ов)

VH

Members


Статус

289 сообщений

Где: ---
Род занятий:
Возраст:

#1632   2010-03-20 01:56 GMT+3 часа(ов)      
(defun F (Net Init Term &optional (Route_list (list (list Init))))
(apply
'(lambda (result next)
(if result
(mapcar 'reverse result)
(F Net Init Term (UPDATE_ROUTE Net next))))
(EXTRACT_RESULT Term Route_list)))

(defun EXTRACT_RESULT (Term Route_list)
(if Route_list
(apply
'(lambda (route result next)
(if (equal (car route) Term)
(list (cons route result) next)
(list result (cons route next))))
(cons
(car Route_list)
(EXTRACT_RESULT Term (cdr Route_list))))
'(nil nil)))

(defun UPDATE_ROUTE (Net Route_list)
(apply 'append
(mapcar
'(lambda (route)
(mapcar
'(lambda (link)
(cons link route))
(cdr (assoc (car route) Net))))
Route_list)))

Схема метрополитена связывается с формальным параметром Net функции (F) и представлена списком, элементами которого являются списки, в каждом из которых первый элемент - обозначение (строка, число, символ) станции, а остальные элементы - обозначения станций, с которыми данная станция связана. Узлы, на которых возможна пересадка, представлены двумя (или более) связанными станциями (или одной, если переход не требует затрат). Обозначение начальной станции связывается с формальным параметром Init функции (F), а обозначение конечной станции - с формальным параметром Term функции (F).
Вызов функции (F) возвращает список, элементами которого являются маршруты (списки обозначений станций) с минимальным числом промежуточных станций от начальной до конечной станции.
Например, для сети, представленной списком
(setq sampleNet
'((A B)(B A C)(C B D)(D C E X)(E D F O)(F E J)(G H)(H G I W)(I H J)
(J I K F)(K J T Z)(L M)(M L N)(N M O Y)(O N P E)(P O Q)(Q P R U)
(R P S)(S R)(T K U)(U T V Q)(V U W)(W V X H)(X W Y D)(Y X Z N)
(Z Y K)))

- это сеть (в скобках - парные пересадочные станции) с кольцевой линией K-T-U(Q)-V-W(H)-X(D)-Y(N)-Z и радиальными линиями A-B-C-D(X)-E(O)-F(J), G-H(W)-I-J(F)-K и L-M-N(Y)-O(E)-P-Q(U)-R-S - может быть сделан вызов функции
(F sampleNet 'B 'T)

который возвращает
((B C D E F J K T) (B C D X W V U T) (B C D X Y Z K T))

Это решение задачи не является оптимальным.

отредактировал(а) VH: 2010-03-20 03:00 GMT+3 часа(ов)

Михаил

Members


Статус

120 сообщений

Где: ---
Род занятий:
Возраст:

#1636   2010-03-21 12:51 GMT+3 часа(ов)      
Ваша задача решается алгоритмом Дейкстры при условии, что длинна всех ребер равна единице.

Вот здесь очень подробно изложен алгоритм решения вашей задачи.
(define (min-way a b graph)
(define strike-out-tops '())
(define (strike-out? u)
(memq u strike-out-tops))
 
(define labels
(map (lambda (x)
(let ((u (car x)))
(cons u (if (= u a) 0 -1))))
graph))
 
;; вершина с минимальной меткой (-1 означает бесконечность)
(define (top-with-min-label)
(let ((y '()))
(for-each (lambda (x)
(if (and (not (= (cdr x) -1))
(not (strike-out? (car x)))
(or (null? y) (< (cdr x) (cdr y))))
(set! y x)))
labels)
y))
 
(define (set-labels! u m)
(set! labels
(map (lambda (y)
(if (= u (car y)) (cons u m) y))
labels)))
 
(define (dijkstra)
(if (< (length strike-out-tops) (length graph))
(let* ((y (top-with-min-label))
(u (car y))
(m (+ 1 (cdr y)))
;соседние вершины
(s (map (lambda (x) (assq x labels))
(cadr (assq u graph)))))
(set! strike-out-tops
(cons u strike-out-tops))
(for-each (lambda (x)
(if (and (not (strike-out? (car x)))
(or (= (cdr x) -1)
(< m (cdr x))))
(set-labels! (car x) m)))
s)
(dijkstra))))
 
(define (make-way b)
(if (= a b)
(list a)
(let ((y (assq b labels))
(z '())
(s (map (lambda (x)
(assq x labels))
(cadr (assq b graph)))))
(for-each (lambda (x)
(if (= (+ 1 (cdr x)) (cdr y))
(set! z x)))
s)
(cons b (make-way (car z))))))
(dijkstra)
(make-way b))
 
(define graph '((1 (2 3 6))
(2 (1 3 4))
(3 (1 2 4 6))
(4 (2 3 5))
(5 (4 6))
(6 (1 3 5))))
(min-way 1 5 graph)

VH

Members


Статус

289 сообщений

Где: ---
Род занятий:
Возраст:

#1637   2010-03-21 17:40 GMT+3 часа(ов)      
Ускорение поиска решения:
из сети исключаются «пройденные» связи (перегоны), что исключает возвратное и циклическое движение;
из списка маршрутов исключаются «зашедшие в тупик» маршруты, что сокращает количество рассматриваемых вариантов.
Некоторые формальные параметры переименованы.
(defun F (Net Init Term &optional (Routes (list (list Init))))
(apply
'(lambda (result next)
(if result
(mapcar 'reverse result)
(F
(UPDATE_NET Net Routes)
Init
Term
(UPDATE_ROUTES Net next))))
(EXTRACT_RESULT Term Routes)))

(defun EXTRACT_RESULT (Term Routes)
(if Routes
(apply
'(lambda (route result next)
(if (equal (car route) Term)
(list (cons route result) next)
(list result (cons route next))))
(cons
(car Routes)
(EXTRACT_RESULT Term (cdr Routes))))
'(nil nil)))

(defun UPDATE_ROUTES (Net Routes)
(apply 'append
(mapcar
'(lambda (route)
(mapcar
'(lambda (link)
(cons link route))
(cdr (assoc (car route) Net))))
Routes)))

(defun UPDATE_NET (Net Routes)
(if Routes
((lambda (curr_term)
((lambda (links)
(UPDATE_NET
(UPDATE_LINKS Net curr_term links)
(cdr Routes)))
(cdr (assoc curr_term Net))))
(caar Routes))
Net))

(defun UPDATE_LINKS (Net Term Links)
(if Links
((lambda (link)
(UPDATE_LINKS
(subst (remove Term link) link Net)
Term
(cdr Links)))
(assoc (car Links) Net))
Net))

Artyom

Members


Статус

6 сообщений

Где: Russia
Род занятий:
Возраст:

#1651   2010-03-22 16:08 GMT+3 часа(ов)      
Цитата
VH
Все хорошо, но при вызове (F sampleNet 'B 'T) ОШИБКА!!! Error: Attempt to take the value of the unbound variable `TERM'.
[condition type: UNBOUND-VARIABLE]

VH

Members


Статус

289 сообщений

Где: ---
Род занятий:
Возраст:

#1652   2010-03-22 16:21 GMT+3 часа(ов)      
Уважаемый Artyom, это происходит при использовании первого или второго варианта?

Artyom

Members


Статус

6 сообщений

Где: Russia
Род занятий:
Возраст:

#1653   2010-03-22 16:22 GMT+3 часа(ов)      
Цитата
Михаил :
(define (min-way a b graph)
(define strike-out-tops '())
(define (strike-out? u)
(memq u strike-out-tops))

Что за функцмя define??? И скобки не правильно раставлены. Скажите она работает у Вас?

Artyom

Members


Статус

6 сообщений

Где: Russia
Род занятий:
Возраст:

#1654   2010-03-22 16:23 GMT+3 часа(ов)      
Цитата
VH :
Уважаемый Artyom, это происходит при использовании первого или второго варианта?



И первого и второго. Но второй мне больше понравился.

VH

Members


Статус

289 сообщений

Где: ---
Род занятий:
Возраст:

#1656   2010-03-22 17:18 GMT+3 часа(ов)      
>Artyom
Уважаемый Михаил пишет на языке Scheme.

VH

Members


Статус

289 сообщений

Где: ---
Род занятий:
Возраст:

#1657   2010-03-22 17:26 GMT+3 часа(ов)      
Для использования строковых <и тому подобных> обозначений станций «уточним» используемые в некоторых встроенных функциях тестовые функции (которые по умолчанию EQL):
(defun F (Net Init Term &optional (Routes (list (list Init))))
(apply
'(lambda (result next)
(if result
(mapcar 'reverse result)
(F
(UPDATE_NET Net Routes)
Init
Term
(UPDATE_ROUTES Net next))))
(EXTRACT_RESULT Term Routes)))

(defun EXTRACT_RESULT (Term Routes)
(if Routes
(apply
'(lambda (route result next)
(if (equal (car route) Term)
(list (cons route result) next)
(list result (cons route next))))
(cons
(car Routes)
(EXTRACT_RESULT Term (cdr Routes))))
'(nil nil)))

(defun UPDATE_ROUTES (Net Routes)
(apply 'append
(mapcar
'(lambda (route)
(mapcar
'(lambda (link)
(cons link route))
(cdr (assoc (car route) Net :test 'EQUAL)))) ; здесь
Routes)))

(defun UPDATE_NET (Net Routes)
(if Routes
((lambda (curr_term)
((lambda (links)
(UPDATE_NET
(UPDATE_LINKS Net curr_term links)
(cdr Routes)))
(cdr (assoc curr_term Net :test 'EQUAL)))) ; здксь
(caar Routes))
Net))

(defun UPDATE_LINKS (Net Term Links)
(if Links
((lambda (link)
(UPDATE_LINKS
(subst (remove Term link :test 'EQUAL) link Net :test 'EQUAL) ; здесь
Term
(cdr Links)))
(assoc (car Links) Net :test 'EQUAL)) ; здесь
Net))

Михаил

Members


Статус

120 сообщений

Где: ---
Род занятий:
Возраст:

#1658   2010-03-22 17:54 GMT+3 часа(ов)      
> Что за функцмя define???
Это Scheme - один из диалектов лиспа. Чтобы запустить мою программу можете скачать PLT Scheme.

> И скобки не правильно раставлены.
Скобки в порядке. Просто функции определяются в функции и Вы не заметили в конце закрывающиеся скобки.

Но самое главное - это алгоритм (ссылки я давал выше). При необходимости можете и сами его реализовать.

Artyom

Members


Статус

6 сообщений

Где: Russia
Род занятий:
Возраст:

#1659   2010-03-22 18:23 GMT+3 часа(ов)      
Спасибо.

Михаил

Members


Статус

120 сообщений

Где: ---
Род занятий:
Возраст:

#1660   2010-03-23 00:21 GMT+3 часа(ов)      
> (Q P R U) (R P S)
А почему Q cвязана с R, но R не связана с Q? (R P S) нужно исправить на (R Q S).

Немного исправил свой код:
(define (min-way a b graph)
(define strike-out-tops '())
(define (strike-out? u)
(memq u strike-out-tops))
 
(define labels
(map (lambda (x) (cons (car x) infinity)) graph))
 
(define (top-with-min-label labels)
(if (null? labels)
(cons a infinity)
(let ((y (top-with-min-label (cdr labels))))
(if (and (not (strike-out? (caar labels)))
(< (cdar labels) (cdr y)))
(car labels)
y))))
 
(define (set-labels! u m)
(set-cdr! (assq u labels) m))
 
(define (dijkstra)
(if (< (length strike-out-tops) (length graph))
(let* ((y (top-with-min-label labels))
(u (car y))
(m (+ 1 (cdr y)))
(s (map (lambda (x) (assq x labels))
(cadr (assq u graph)))))
(set! strike-out-tops
(cons u strike-out-tops))
(for-each (lambda (x)
(if (< m (cdr x))
(set-labels! (car x) m)))
s)
(dijkstra))))
 
(define (make-way b)
(if (eq? a b)
(list a)
(let ((y (assq b labels))
(z '())
(s (map (lambda (x) (assq x labels))
(cadr (assq b graph)))))
(for-each (lambda (x)
(if (= (+ 1 (cdr x)) (cdr y))
(set! z x)))
s)
(cons b (make-way (car z))))))
(set-labels! a 0)
(dijkstra)
(make-way b))
 
(define infinity 1000)
(define graph
'((A (B))(B (A C))(C (B D))(D (C E X))(E (D F O))(F (E J))(G (H))(H (G I W))(I (H J))
(J (I K F))(K (J T Z))(L (M))(M (L N))(N (M O Y))(O (N P E))(P (O Q))(Q (P R U))
(R (Q S))(S (R))(T (K U))(U (T V Q))(V (U W))(W (V X H))(X (W Y D))(Y (X Z N))
(Z (Y K))))
(min-way 'B 'T graph)
(t u v w x d c b) - результат.

VH

Members


Статус

289 сообщений

Где: ---
Род занятий:
Возраст:

#1661   2010-03-23 03:24 GMT+3 часа(ов)      
>Михаил
Конечно, тут опечатка, но вот в сети московского метро есть такие интересные места, когда A связано с B, а B не связано с A (особенно мне нравится Кунцевская, но и Каширская с Третьяковской доставляют):
(северное) обозначает платформу, с которой поезда могут двигаться в северном направлении, а (южное) - соответственно, в южном.
ВНИМАНИЕ! В СПИСОК ВНЕСЕНЫ ИЗМЕНЕНИЯ
(setq Net
'(("Улица Подбельского" "Черкизовская")
("Черкизовская" "Улица Подбельского" "Преображенская площадь")
("Преображенская площадь" "Черкизовская" "Сокольники")
("Сокольники" "Преображенская площадь" "Красносельская")
("Красносельская" "Сокольники" "Комсомольская-радиальная")
("Комсомольская-радиальная" "Красносельская" "Комсомольская-кольцевая" "Красные ворота")
("Красные ворота" "Комсомольская-радиальная" "Чистые пруды")
("Чистые пруды" "Красные ворота" "Лубянка" "Тургеневская" "Сретенский бульвар")
("Лубянка" "Чистые пруды" "Охотный ряд" "Кузнецкий мост")
("Охотный ряд" "Лубянка" "Библиотека имени Ленина" "Театральная")
("Библиотека имени Ленина" "Охотный ряд" "Кропоткинская" "Арбатская" "Александровский сад" "Боровицкая")
("Кропоткинская" "Библиотека имени Ленина" "Парк культуры-радиальная")
("Парк культуры-радиальная" "Кропоткинская" "Фрунзенская" "Парк культуры-кольцевая")
("Фрунзенская" "Парк культуры-радиальная" "Спортивная")
("Спортивная" "Фрунзенская" "Воробьёвы горы")
("Воробьёвы горы" "Спортивная" "Университет")
("Университет" "Воробьёвы горы" "Проспект Вернадского")
("Проспект Вернадского" "Университет" "Юго-Западная")
("Юго-Западная" "Проспект Вернадского")
 
("Щёлковская" "Первомайская")
("Первомайская" "Щёлковская" "Измайловская")
("Измайловская" "Первомайская" "Партизанская")
("Партизанская" "Измайловская" "Семёновская")
("Семёновская" "Партизанская" "Электрозаводская")
("Электрозаводская" "Семёновская" "Бауманская")
("Бауманская" "Электрозаводская" "Курская-радиальная")
("Курская-радиальная" "Бауманская" "Площадь Революции" "Курская-кольцевая" "Чкаловская")
("Площадь Революции" "Курская-радиальная" "Арбатская" "Театральная")
("Арбатская" "Площадь Революции" "Смоленская" "Библиотека имени Ленина" "Александровский сад" "Боровицкая")
("Смоленская" "Арбатская" "Киевская-радиальная")
("Киевская-радиальная" "Смоленская" "Парк Победы" "Киевская-кольцевая" "Киевская(Филёвская)")
("Парк Победы" "Киевская-радиальная" "Славянский бульвар")
("Славянский бульвар" "Парк Победы" "Кунцевская(северное)")
;;; Кунцевская
("Молодёжная" "Кунцевская(южное)" "Крылатское")
("Крылатское" "Молодёжная" "Строгино")
("Строгино" "Крылатское" "Мякинино")
("Мякинино" "Строгино" "Волоколамская")
("Волоколамская" "Мякинино" "Митино")
("Митино" "Волоколамская")
 
("Речной вокзал" "Водный стадион")
("Водный стадион" "Речной вокзал" "Войковская")
("Войковская" "Водный стадион" "Сокол")
("Сокол" "Войковская" "Аэропорт")
("Аэропорт" "Сокол" "Динамо")
("Динамо" "Аэропорт" "Белорусская-радиальная")
("Белорусская-радиальная" "Динамо" "Маяковская" "Белорусская-кольцевая")
("Маяковская" "Белорусская-радиальная" "Тверская")
("Тверская" "Маяковская" "Театральная" "Пушкинская" "Чеховская")
("Театральная" "Тверская" "Новокузнецкая" "Охотный ряд" "Площадь Революции")
("Новокузнецкая" "Театральная" "Павелецкая-радиальная" "Третьяковская(северное)" "Третьяковская(южное)")
("Павелецкая-радиальная" "Новокузнецкая" "Автозаводская" "Павелецкая-кольцевая")
("Автозаводская" "Павелецкая-радиальная" "Коломенская")
("Коломенская" "Автозаводская" "Каширская(южное)")
;;; Каширская
("Кантемировская" "Каширская(северное)" "Царицыно")
("Царицыно" "Кантемировская" "Орехово")
("Орехово" "Царицыно" "Домодедовская")
("Домодедовская" "Орехово" "Красногвардейская")
("Красногвардейская" "Домодедовская")
 
("Планёрная" "Сходненская")
("Сходненская" "Планёрная" "Тушинская")
("Тушинская" "Сходненская" "Щукинская")
("Щукинская" "Тушинская" "Октябрьское поле")
("Октябрьское поле" "Щукинская" "Полежаевская")
("Полежаевская" "Октябрьское поле" "Беговая")
("Беговая" "Полежаевская" "Улица 1905 года")
("Улица 1905 года" "Беговая" "Баррикадная")
("Баррикадная" "Улица 1905 года" "Пушкинская" "Краснопресненская")
("Пушкинская" "Баррикадная" "Кузнецкий мост" "Тверская" "Чеховская")
("Кузнецкий мост" "Пушкинская" "Китай-город(южное)" "Лубянка")
("Таганская-радиальная" "Китай-город(северное)" "Пролетарская" "Таганская-кольцевая" "Марксистская")
("Пролетарская" "Таганская-радиальная" "Волгоградский проспект" "Крестьянская застава")
("Волгоградский проспект" "Пролетарская" "Текстильщики")
("Текстильщики" "Волгоградский проспект" "Кузьминки")
("Кузьминки" "Текстильщики" "Рязанский проспект")
("Рязанский проспект" "Кузьминки" "Выхино")
("Выхино" "Рязанский проспект")
 
("Медведково" "Бабушкинская")
("Бабушкинская" "Медведково" "Свиблово")
("Свиблово" "Бабушкинская" "Ботанический сад")
("Ботанический сад" "Свиблово" "ВДНХ")
("ВДНХ" "Ботанический сад" "Алексеевская")
("Алексеевская" "ВДНХ" "Рижская")
("Рижская" "Алексеевская" "Проспект Мира-радиальная")
("Проспект Мира-радиальная" "Рижская" "Сухаревская" "Проспект Мира-кольцевая")
("Сухаревская" "Проспект Мира-радиальная" "Тургеневская")
("Тургеневская" "Сухаревская" "Китай-город(южное)" "Чистые пруды" "Сретенский бульвар")
;;; Китай-город
;;; Третьяковская
("Октябрьская-радиальная" "Третьяковская(северное)" "Шаболовская" "Октябрьская-кольцевая")
("Шаболовская" "Октябрьская-радиальная" "Ленинский проспект")
("Ленинский проспект" "Шаболовская" "Академическая")
("Академическая" "Ленинский проспект" "Профсоюзная")
("Профсоюзная" "Академическая" "Новые Черёмушки")
("Новые Черёмушки" "Профсоюзная" "Калужская")
("Калужская" "Новые Черёмушки" "Беляево")
("Беляево" "Калужская" "Коньково")
("Коньково" "Беляево" "Тёплый стан")
("Тёплый стан" "Коньково" "Ясенево")
("Ясенево" "Тёплый стан" "Битцевский парк")
("Битцевский парк" "Ясенево")
 
("Александровский сад" "Арбатская(Филёвская)" "Библиотека имени Ленина" "Арбатская" "Боровицкая")
("Арбатская(Филёвская)" "Александровский сад" "Смоленская(Филёвская)")
("Смоленская(Филёвская)" "Арбатская(Филёвская)" "Киевская(Филёвская)")
("Киевская(Филёвская)" "Смоленская(Филёвская)" "Студенческая" "Деловой Центр" "Киевская-радиальная" "Киевская-кольцевая")
("Студенческая" "Киевская(Филёвская)" "Кутузовская")
("Кутузовская" "Студенческая" "Фили")
("Фили" "Кутузовская" "Багратионовская")
("Багратионовская" "Фили" "Филёвский парк")
("Филёвский парк" "Багратионовская" "Пионерская")
("Пионерская" "Филёвский парк" "Кунцевская(северное)")
;;; Кунцевская
("Деловой Центр" "Киевская(Филёвская)" "Международная")
("Международная" "Деловой Центр")
 
;;; Третьяковская
("Марксистская" "Третьяковская(южное)" "Площадь Ильича" "Таганская-радиальная" "Таганская-кольцевая")
("Площадь Ильича" "Марксистская" "Авиамоторная" "Римская")
("Авиамоторная" "Площадь Ильича" "Шоссе Энтузиастов")
("Шоссе Энтузиастов" "Авиамоторная" "Перово")
("Перово" "Шоссе Энтузиастов" "Новогиреево")
("Новогиреево" "Перово" "Новокосино")
("Новокосино" "Новогиреево")
 
("Алтуфьево" "Бибирево")
("Бибирево" "Алтуфьево" "Отрадное")
("Отрадное" "Бибирево" "Владыкино")
("Владыкино" "Отрадное" "Петровско-Разумовская")
("Петровско-Разумовская" "Владыкино" "Тимирязевская")
("Тимирязевская" "Петровско-Разумовская" "Дмитровская")
("Дмитровская" "Тимирязевская" "Савёловская")
("Савёловская" "Дмитровская" "Менделеевская")
("Менделеевская" "Савёловская" "Цветной бульвар" "Новослободская")
("Цветной бульвар" "Менделеевская" "Чеховская" "Трубная")
("Чеховская" "Цветной бульвар" "Боровицкая" "Тверская" "Пушкинская")
("Боровицкая" "Чеховская" "Полянка" "Библиотека имени Ленина" "Арбатская" "Александровский сад")
("Полянка" "Боровицкая" "Серпуховская")
("Серпуховская" "Полянка" "Тульская" "Добрынинская")
("Тульская" "Серпуховская" "Нагатинская")
("Нагатинская" "Тульская" "Нагорная")
("Нагорная" "Нагатинская" "Нахимовский проспект")
("Нахимовский проспект" "Нагорная" "Севастопольская")
("Севастопольская" "Нахимовский проспект" "Чертановская" "Каховская")
("Чертановская" "Севастопольская" "Южная")
("Южная" "Чертановская" "Пражская")
("Пражская" "Южная" "Улица академика Янгеля")
("Улица академика Янгеля" "Пражская" "Аннино")
("Аннино" "Улица академика Янгеля" "Бульвар Дмитрия Донского")
("Бульвар Дмитрия Донского" "Аннино")
 
("Трубная" "Сретенский бульвар" "Цветной бульвар")
("Сретенский бульвар" "Трубная" "Чкаловская" "Чистые пруды" "Тургеневская")
("Чкаловская" "Сретенский бульвар" "Римская" "Курская-радиальная" "Курская-кольцевая")
("Римская" "Чкаловская" "Крестьянская застава" "Площадь Ильича")
("Крестьянская застава" "Римская" "Дубровка" "Пролетарская")
("Дубровка" "Крестьянская застава" "Кожуховская")
("Кожуховская" "Дубровка" "Печатники")
("Печатники" "Кожуховская" "Волжская")
("Волжская" "Печатники" "Люблино")
("Люблино" "Волжская" "Братиславская")
("Братиславская" "Люблино" "Марьино")
("Марьино" "Братиславская")
 
;;; Каширская
("Варшавская" "Каширская(северное)" "Каховская")
("Каховская" "Варшавская" "Севастопольская")
 
("Комсомольская-кольцевая" "Проспект Мира-кольцевая" "Курская-кольцевая" "Комсомольская-радиальная")
("Курская-кольцевая" "Комсомольская-кольцевая" "Таганская-кольцевая" "Курская-радиальная" "Чкаловская")
("Таганская-кольцевая" "Курская-кольцевая" "Павелецкая-кольцевая" "Таганская-радиальная" "Марксистская")
("Павелецкая-кольцевая" "Таганская-кольцевая" "Добрынинская" "Павелецкая-радиальная")
("Добрынинская" "Павелецкая-кольцевая" "Октябрьская-кольцевая" "Серпуховская")
("Октябрьская-кольцевая" "Добрынинская" "Парк культуры-кольцевая" "Октябрьская-радиальная")
("Парк культуры-кольцевая" "Октябрьская-кольцевая" "Киевская-кольцевая" "Парк культуры-радиальная")
("Киевская-кольцевая" "Парк культуры-кольцевая" "Краснопресненская" "Киевская-радиальная" "Киевская(Филёвская)")
("Краснопресненская" "Киевская-кольцевая" "Белорусская-кольцевая" "Баррикадная")
("Белорусская-кольцевая" "Краснопресненская" "Новослободская" "Белорусская-радиальная")
("Новослободская" "Белорусская-кольцевая" "Проспект Мира-кольцевая" "Менделеевская")
("Проспект Мира-кольцевая" "Новослободская" "Комсомольская-кольцевая" "Проспект Мира-радиальная")
 
("Китай-город(южное)" "Таганская-радиальная" "Третьяковская(южное)" "Китай-город(северное)")
("Китай-город(северное)" "Кузнецкий мост" "Тургеневская" "Китай-город(южное)")
 
("Третьяковская(южное)" "Октябрьская-радиальная" "Новокузнецкая" "Третьяковская(северное)")
("Третьяковская(северное)" "Китай-город(северное)" "Новокузнецкая" "Марксистская" "Третьяковская(южное)")
 
("Каширская(южное)" "Кантемировская" "Варшавская" "Каширская(северное)")
("Каширская(северное)" "Коломенская" "Каширская(южное)")
 
("Кунцевская(южное)" "Славянский бульвар" "Кунцевская(северное)")
("Кунцевская(северное)" "Молодёжная" "Пионерская")
)
)
 

отредактировал(а) VH: 2010-03-23 12:30 GMT+3 часа(ов)
> 1 <


Онлайн :

0 пользователь(ей), 36 гость(ей) :