n = int(input()) # получаем кол-во продуктов и записываем в n
a = {} # библиотека для цен
c = {} # библиотека для кол-во продукта
l = [] # массив для всех проданных продуктов
for i1 in range(n): # цикл для заполнения всех массивов
b = [] # массив b для отделения цены о названия продукта
b.append(input().split()) # записываем продукт и его цену в массив b
k = int(b[0][len(b[0])-1]) # записываем в k цену продукта
v = ''
for i in range(len(b[0])-1): # при цикла объединяем название в одну строчку и записываем в v
v = v + str(b[0][i]) + ' '
l.append(v) # добавляем название в массив l
a[v] = k # добавляем цену и продукт в библиотеку a
c[v] = 0 # добавляем продукт в библиотеку b
for i in range(len(l)): # записываем при цикла кол-во каждого продукта
c[l[i]] = c[l[i]]+1
print(len(c)) # выводим кол-во продуктов, которые были проданы
for i in a: # при цикла выводим продукт и сколько за него в итоге заплатили
print(str(i)+str(a[i]*c[i]))
Объяснение
Объяснение:
Количество путей до города Х = количество путей добраться в любой из тех городов, из которых есть дорога в Х. При этом, если путь не должен проходить через какой-то город, нужно просто не учитывать этот город при подсчёте сумм. А если город, наоборот, обязательно должен лежать на пути, тогда для городов, в которые из нужного города идут дороги, в суммах нужно брать только этот город.
С этого наблюдения посчитаем последовательно количество путей до каждого из городов:
А = 1.
Б = А = 1.
Г = А + Б = 2.
Д = А = 1.
В = Б + Г = 3.
Е = Г + Д = 3.
Ж = Е = 3. (В и Г не учитываем, поскольку в этих вершинах не проходим через Е).
К = Ж = 3.
Н = Ж = 3.
М = Ж + Н = 6.
Л = К + Ж + М = 12.
П = К + Л + М = 21.
Поделитесь своими знаниями, ответьте на вопрос:
Документом программы ms excel является выберите один ответ: рабочая книга рабочий лист рабочая таблица