Задача
Влад хочет взять с собой для ланча пару фруктов. У него есть $a$ различных бананов, $b$ различных яблок и $c$ различных груш. Сколькими способами он может выбрать 2 разных фрукта из имеющихся у него?
Входные данные
В одной строке заданы три неотрицательных числа: $a$, $b$, $c$. Все числа не превышают [latex]10^6[/latex].
Входные данные
Вывести количество способов, которыми можно выбрать 2 фрукта разного вида.
Тесты
Вход | Выход |
2 3 4 | 26 |
6 2 4 | 44 |
0 4 8 | 32 |
1052 886 225 | 1368122 |
772 621 124 | 652144 |
Код программы
1 2 3 4 5 6 7 8 9 10 |
#include <iostream> using namespace std; int main() { long int a,b,c,n; cin >> a >> b >> c; n= a*b+b*c+a*c; cout << n; return 0; } |
Решение
Пусть у нас $1$ банан и $b$ различных яблок. Мы можем взять $1$ банан и одно яблоко $b$ способами. Так как бананов $a$, по одному яблоку и банану можем взять [latex](a \cdot b)[/latex] способами. Аналогично, так как груш $с$, то есть [latex](a \cdot с)[/latex] способов взять по одному банану и одну грушу, и [latex](c \cdot b)[/latex] способов взять по одному яблоку и одну грушу. То есть всего [latex](a \cdot b + b \cdot c + c \cdot a) [/latex].