Меню

Главная

Статистика

 

 


Во всех предыдущих примерах только вскользь рассматривались вопросы вычисления элементов таблиц. Как правило, эти вычисления проводились слева направо и сверху вниз, т.е. начиная с маленьких индексов и кончая большими индексами. Иногда на практике вычисление элементов идет не регулярным образом. В этом случае используется насколько схем пересчета, которые позволяют определить момент окончания алгоритма пересчета. Первой из таких схем является идея пересчета на каждой итерации всей таблицы, и продолжение пересчета только в том случае, если в таблице произошли изменения.

Пример #1.

Квадратная таблица n´n заполнена неотрицательными вещественными числами. Число aij, стоящее в клетке (i,j) (i- номер строки, j-номер столбца) определяет курс обмена валюты i на валюту j. Так, например, если aij=2.5, то это значит, что за единицу валюты i дают 2.5 единиц валюты j. Если aij=0, то считается, что курс обмена валюты i на валюту j прямо не установлен. Написать программу, позволяющую определить, можно ли, имея некоторую сумму денег в одной из валют, получить большую сумму денег в той же валюте, совершив несколько обменов.

Пусть задана матрица обменов Курс[i,j]i, j=1,...,n.

Будем вычислять матрицу лучших обменов (понятно, что имеет смысл вычислять только наилучшие обмены) по правилу
Новый_Обмен[i,j]=max{Обмен[i,k]*Обмен[k,j], Обмен[i,j]}
где максимум берется по всем возможным значениям k=1,...,n для всех возможных пар i,j=1,...,n. Очевидно, что на первом этапе матрица лучших курсов совпадает с матрицей обменных курсов.

Перевычисление элементов матрицы Новый_Обмен[i,j] осуществляется до тех пор, пока в матрице происходят изменения или на диагонали появился элемент, больший 1. В последнем случае индекс диагонального элемента и определяет номер валюты, для которой возможен требуемая по условию задачи цепочка обменов. Если же изменения в матрице наилучших обменов закончились, а на диагонали нет элементов, больших 1, то требуемой цепочки обменов нет.

В приведенном примере перевычисление таблицы осуществлялось до тех пор, пока в ней были изменения, что и гарантировало правильность полученных результатов. Рассмотрим еще один пример, когда такая тактика обеспечивает правильность решения, в то время как достаточно правдоподобное рекуррентное соотношение приводит к ошибкам.

Назад

детские лагерь счастливое детство. паспорт экологической безопасности Москва. очень много. Интересует: лизинг кредит, скачать бизнес план? Выгодно. Очень удобно.. государственная регистрация юридических лиц москва 46