e-olymp 2375. Квартира

Задача

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

  • общую площадь комнат;
  • общую площадь всех спален;
  • стоимость квартиры.

Входные данные

Первая строка содержит два целых числа [latex]n [/latex] [latex](1 \leqslant n \leqslant 10)[/latex] и [latex]c[/latex] [latex](1 \leqslant c \leqslant 100000)[/latex] — количество комнат в квартире и стоимость квадратного метра соответственно. Каждая из следующих [latex]n[/latex] строк содержит целое число [latex]a_i (1 \leqslant a_i \leqslant 100)[/latex] и слово [latex]t_i[/latex] — площадь [latex]i[/latex]-ой комнаты и ее тип соответственно. Слово [latex]t_i[/latex] может содержать только одно из следующих значений: [latex] «bedroom»[/latex], [latex] «bathroom»[/latex], [latex] «kitchen»[/latex], [latex] «balcony»[/latex], [latex] «other»[/latex].

Выходные данные

Первая строка содержит одно целое число — общую площадь всех комнат квартиры. Вторая строка содержит одно целое число — общую площадь всех спален в квартире. Третья строка содержит одно действительное число — стоимость квартиры с точностью не больше [latex]10^{-6}[/latex].

Следующий рисунок отображает план квартиры, заданной в первом примере.

Тесты

Входные данные Выходные данные
1 6 75000 46
8 other 16
3 bathroom 3187500.000000
2 bathroom
10 kitchen
16 bedroom
7 balcony
2 2 75123 25
10 kitchen 0
15 balcony 1314652.500000
3 4 110000 41
7 other 18
4 bathroom 4510000.000000
12 kitchen
18 bedroom

Решение задачи

Считываем данные из потока. При этом используем цикл for(int i=1; i=n; i++). Общую площадь квартиры рассчитываем по формуле S += ai. Площадь спален вычисляем по формуле Ss += ai, учитывая, что ti=="bedroom". Для дальнейшего вычисления стоимости квартиры вычисляем площадь балконов по формуле Sb += ai, учитывая, что ti=="balcony". Стоимость квартиры рассчитываем по формуле Ck=(S-Sb/2.)*c.

Ссылки

e-olymp
ideone

Related Images: