Задача
Вы являетесь одним из разработчиков программного обеспечения для агентства недвижимости. Вам следует реализовать различные статистические функции для квартир, которые продает агентство. Каждая квартира состоит из различных типов комнат: спальня, ванная комната, кухня, балкон и другие. Стоимость квартиры равна произведению уменьшенной общей площади и стоимости одного квадратного метра. Уменьшенной общей площадью считается общая площадь всех помещений кроме балконов плюс половина площадей всех балконов.
Вам будет предоставлена информация о площади каждой комнаты в квартире и стоимость одного квадратного метра. Необходимо рассчитать следующие значения для квартиры:
- общую площадь комнат;
- общую площадь всех спален;
- стоимость квартиры.
Входные данные
Первая строка содержит два целых числа [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 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#include <iostream> #include <iomanip> #include <string> using namespace std; int main() { unsigned int n, ai, S=0, Ss=0, Sb=0; float Ck, c; string ti; cin >> n >> c; for(int i=1; i<=n; i++){ cin >> ai >> ti; S += ai; if (ti == "bedroom"){ Ss += ai; } else if (ti == "balcony"){ Sb += ai; } } Ck = (S - Sb/2.) * c; cout << S << "\n" << Ss << "\n" << fixed << setprecision(6) << Ck << "\n"; return 0; } |
Решение задачи
Считываем данные из потока. При этом используем цикл for(int i=1; i=n; i++). Общую площадь квартиры рассчитываем по формуле S += ai. Площадь спален вычисляем по формуле Ss += ai, учитывая, что ti=="bedroom". Для дальнейшего вычисления стоимости квартиры вычисляем площадь балконов по формуле Sb += ai, учитывая, что ti=="balcony". Стоимость квартиры рассчитываем по формуле Ck=(S-Sb/2.)*c.
Хорошо.
— Сделайте правильное назвние, как в аналогичных работах.
— Вспомните, как в HTML делать списки.
— Не делайте переходы на новый абзац в середине предложения.
— В формулах должно быть так $\leqslant$.
Спасибо. Все исправил.