mercury13_kiev


Это не баг, это фича!


Previous Entry Share Next Entry
Занимательная задача: Водка «Синяк»
mercury13_kiev

Предположим, мы занимаемся предсказанием продаж, и у нас есть вот такая иерархия.

На каждый из объектов можно навешивать свойства, при этом свойства могут противоречить друг другу. Правила приоритета простейшие.

  1. Свойство, навешенное на сына, перекрывает всех его отцов.
  2. Если же у сына «пусто» — он наследует от левой ветви. Если в левой пусто, то от правой.
  3. Однако даже правая ветвь приоритетнее общего предка.

Придумайте алгоритм вычисления окончательных свойств. Алгоритм «вычислить для каждого из отцов, затем объединить их» не учитывает 3-е правило: у водки будет стандартный метод предсказания, и в результате двух сравнений именно он окажется у нашего запаса.

И как модифицировать наш алгоритм, если, кроме водки и магазина, есть селёдка и ларёк, и они никак не должны мешать вычислению наших свойств?

Ответ


?

Log in

No account? Create an account